3

我是 GL 的新手,想创建一个平铺地图作为自我教程。我想创建一个小(可能是 7 个六角宽/高)十六进制图。我的第一个想法是创建一种方法来绘制一个十六进制,然后转换适当的偏移量并放置新的十六进制。但这似乎效率不高。有任何想法吗?作为一个附带问题,我如何确定 MotionEvent 是否在给定十六进制的范围内?

4

2 回答 2

5
于 2011-05-17T22:30:02.817 回答
2

要确定 MotionEvent 是否在某个十六进制范围内,您必须将通过运动事件传入的坐标转换为您的 OpenGL 世界坐标。它就像一个单位转换,你知道屏幕从 0 - WIDTH 和你的 GL 世界可以说从 -1 到 1。

(xCoord / (Width - 0)) * (1 - (-1)) = xCoordWorld

将为您提供从 0 到 2 的 xCoord,然后减去 1 以将其变为 -1 到 1。

就六角而言,我一直使用“艺术”六角。用颜料画出六边形,然后在上面绘制一堆带有该艺术品的正方形,快速轻松地将一个六边形换成另一个六边形。

于 2011-05-18T00:04:45.850 回答