大家好,我正在使用基于磁贴的游戏引擎,我对单位运动有点困惑。总的来说,你可以认为它是一个塔防游戏,其中单位必须遵循一条路径(棕色瓷砖),这里是示例图像:
正如您所看到的,Tiles中有数字代表绘图顺序。因此,当地图被初始化时,我将获取所有类型为1的图块(棕色)并将它们添加到ArrayList中。
问题是那些ArrayList Tiles是按绘制顺序排列的。所以我的单位将从图块58开始移动因为是图纸顺序中的第一个图块。
你如何订购从左(第97号)到右(第118号)的棕色瓷砖?
我可以考虑通过知道那个X位置最低的那个来获取97的第一个牌,但从那里开始呢?
答案 0 :(得分:0)
我认为你是以一种奇怪的方式格式化你的信息来解决这个问题。如果你的单位从第58层开始,那么你告诉他们从第一个绘制的瓷砖开始?最理想的情况是,如果您想拥有不同的地图,您是否希望能够在网格上定义特定点并告诉它们从那里开始?
(在不了解您的代码结构的情况下,很难说您是如何做到的。)
一旦您为它们定义了一个点以及它们结束的点,您就可以使用A *或D *搜索来定义实体沿网格的路径。这也可以为你的设计提供更多选择 - 你可以让玩家在整个游戏过程中修改网格,并迫使单位采取新的路径。