【发布时间】:2015-05-14 15:20:55
【问题描述】:
我最近向this question 询问了如何在 Android 中绘制六边形。在找到接受的答案后,我将不得不使用无数行 [重复] 代码(与使用常规 Java Graphics 和 Polygon 对象时的十一行相比),我开始寻找解决方案。我发现 libGdx 有一个 Polygon 类。我开始尝试在链接问题(我的问题开始时使用的代码)中实现代码并稍作修改,包括替换图形类。
我在最初没有检查 API 的情况下偶然发现了这一点,发现与 Java Polygon 类不同,libGdx Polygon 类只有一个构造函数。它是一个浮点数组来保存顶点。不幸的是,在我将 float vertices[6] 放入构造函数后,代码不起作用。没有错误,只是不是我想要的结果。
接下来,我开始了通过 API 进行搜索的艰巨任务。我发现了几个我怀疑可以用来实现我想要的效果的类(为我的第一个策略游戏绘制十六进制地图)。 Polygon 类还有几个我怀疑可以实现的方法。
不过,我和许多其他业余程序员一样倾向于通过示例来学习最好。在研究了别人的实现之后,我总是能够重现我想要的结果。这个问题难倒我,所以有人可以举例说明如何做到这一点并详细解释。我还进行了几次谷歌搜索,试图找到一个例子。六边形数学很简单,但画六边形似乎是一项任务。
(如果我没有忘记将我的代码备份到 Dropbox,我会在问题中添加我的代码。我目前和大多数日子一样,使用 iPad,而不是我存储代码的可信赖的 RCA Android 平板电脑)
编辑:
我的实际问题是标题。如果无法以直接或简单的方式做到这一点,请解释原因。
【问题讨论】:
-
让我吃惊的是,这也将成为 Gamedev 的主题。
-
您是否考虑过将您的 hex 字段实现为 tile-map github.com/libgdx/libgdx/wiki/Tile-maps。特别是:github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/…
-
@MorrisonChang 我已经查看了该选项,但据我所知,您无法以编程方式创建 .tmx(平铺地图)文件。我正在使用 Android IDE (AIDE) 来开发游戏。
-
答案应该(如果 IDE 很重要)将其视为我正在使用 Eclipse。 AIDE 以 Eclipse 为蓝本。
标签: java android libgdx hexagonal-tiles