我最近问过this question如何在Android中绘制六边形。在接受的答案中找到我将不得不使用无数行的[重复]代码(与使用常规Java Graphics
和Polygon
对象时的十一行相比),我开始寻找解决方案。我发现libGdx有一个Polygon
类。我开始尝试在链接问题中实现代码(我的问题开头的代码)稍作修改,包括替换图形类。
我在没有最初检查API的情况下偶然发现了这一点,发现与Java Polygon
类不同,libGdx Polygon
类只有一个构造函数。它是一个用于保存顶点的float数组。不幸的是,在我将float vertices[6]
置于构造函数中后,代码无效。没有错误,只是没有我想要的结果。
接下来,我开始了搜索API的艰巨任务。我发现我怀疑可以使用几个类来实现我想要的效果(为我的第一个策略游戏绘制十六进制地图)。 Polygon类还有几个我怀疑可以实现的方法。
然而,和许多其他业余程序员一样,他们倾向于通过示例来学习。在研究了别人的实施后,我一直能够重现我想要的结果。这个问题让我很难过,所以有人可以通过详细解释给出一个如何做到这一点的例子。我还做了几次谷歌搜索试图找到一个例子。六边形数学很简单,但绘制六边形似乎是一项任务。
(如果我没有忘记将它备份到Dropbox,我会将我的代码添加到问题中。我现在和大多数日子一样,使用iPad而不是我信赖的RCA Android平板电脑,我存储了我的代码)
修改
我的实际问题是标题。如果无法以简单明了的方式做到这一点,请解释原因。
答案 0 :(得分:1)
如果我理解你的问题,混合这些链接可能会帮助你创建你想要的东西:
1- http://www.alcove-games.com/advanced-tutorials/isometric-tile-picking/
2- http://www.gdreflections.com/2011/02/hexagonal-grid-math.html
3-查看其他链接,代码此回购: http://code.google.com/p/libgdx-tiled/source/browse/#svn%2Ftrunk%2Flibgdx-tiled-hex-desktop%2Fsrc%2Fgame%2Fhex
http://code.google.com/p/libgdx-tiled/source/browse/releases/gdx-tests/TiledMapTest.java
希望它会有所帮助,我不会提出遗嘱,因为有太多的遗嘱,我想,如果这些信息对你无效,请通知我并删除