我最近问了this question关于如何在Android中绘制六角形。在接受的答案中发现,我将不得不使用很多[重复]代码行(与使用常规Java Graphics
和Polygon
对象时相比),我开始寻找解决方案。我发现libGdx有一个Polygon
类。我开始尝试在链接问题(我的问题开始的代码)中稍微修改代码,包括替换图形类。如何使用Polygon类在libGdx中绘制六角形图?
我偶然发现,没有最初检查API,发现与Java Polygon
类不同,libGdx Polygon
类只有一个构造函数。它是一个float数组来保存顶点。不幸的是,在将浮点数vertices[6]
放置在构造函数中后,代码无法工作。没有错误,只是不是我想要的结果。
接下来我开始了通过API搜索的艰巨任务。我发现了几个我怀疑可以用来实现我想要的效果的类(为我的第一个策略游戏绘制十六进制地图)。 Polygon类也有几种我怀疑可以实现的方法。
但是,和其他许多业余程序员一样,我倾向于通过示例学习最好。在学习别人的实现之后,我一直能够重现我想要的结果。这个问题困扰着我,所以有人可以举例说明如何通过详细的解释来做到这一点。我也做过几次谷歌搜索,试图找到一个例子。六角形数学很简单,但绘制六边形似乎是一项任务。
(如果我还没有忘记将它备份到Dropbox,我会将代码添加到Dropbox中。我目前像大多数日子一样使用iPad,而不是我可信赖的RCA Android平板电脑, )
编辑:
我实际的问题是标题。如果无法以直接或简单的方式进行此操作,请解释原因。
它让我觉得这也是Gamedev的话题。 –
你看过实现你的十六进制字段作为瓷砖地图https://github.com/libgdx/libgdx/wiki/Tile-maps。尤其是:https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/maps/tiled/renderers/HagagonalTiledMapRenderer.java –
@MorrisonChang我看了看选项,但到目前为止因为我可以告诉你不能以编程方式创建一个.tmx(瓷砖地图)文件。我正在使用Android IDE(AIDE)来开发游戏。 –