适用于Android的六角形板 - 怎么做?

时间:2014-11-28 09:20:20

标签: android android-custom-view android-gridlayout hexagonal-tiles

我再一次开始尝试Android的东西。我正在尝试创建一个使用六角形板的小型简单游戏。我知道六边形计算背后的数学,但问题是如何在Android中实际实现这样的板?

起初我想到使用网格视图,其中每隔一行替换半步,然后使用这些方形网格作为我的板,并在方框上绘制六边形。但是,常规网格视图似乎不允许我这样做。

Displaced square grid

所以我想也许我需要用六边形网格或带有方形位移网格的自定义视图创建自定义视图。

我不熟悉Android自定义视图。我从Vogella's tutorials阅读了有关自定义视图的教程,但我仍然非常不确定,如果甚至可以将六边形网格创建为自定义视图。

那么关于如何在android上创建和实现六角形游戏板的任何想法和帮助?

1 个答案:

答案 0 :(得分:0)

我肯定会使用自定义视图。绘制视图时,可以有一个循环,在整个视图中的正确位置绘制每个六边形拼贴。这将为您提供最大的灵活性。

我建议你首先编写一个方法,为整个视图中的任何给定点确定它所在的六角形图块。你需要这个来确定触摸了哪个图块,它也有助于绘图。

关于它的好处是,如果你跟踪每个瓦片的中心,那么对于任何给定的点,最近的中心点将告诉你该点位于哪个瓦片。