如何在opengl中递归绘制十六进制映射?

时间:2011-05-17 20:00:09

标签: android opengl-es hexagonal-tiles

我是GL的新手,想要创建一个平铺地图作为自我图案。我想创建一个小的(可能是7个十六进制宽/高)十六进制映射。我的第一个想法是创建一个方法来绘制一个十六进制,然后只需翻译适当的偏移量并放置新的十六进制。但这似乎并不高效。有任何想法吗? Alos作为一个附带问题,如何确定MotionEvent是否与给定的十六进制相同?

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:2)

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

(xCoord /(宽度 - 0))*(1 - ( - 1))= xCoordWorld

将从0到2给你xCoord,然后减去1得到-1到1。

就咒语而言,我总是使用'​​艺术'咒语。在涂料中绘制出六角形,然后在其上渲染一堆正方形,快速轻松地将十六进制换成另一个十六进制。