1

最近,我正在尝试学习AndEngine GLES2-Anchor在 Android 中创建简单的游戏。我正在使用 TiledMap 并使用 Nicolas 提供的示例,我可以成功地将我的 TiledMap 和我的“播放器”加载到屏幕上。但是,我想知道如何在特定位置获得瓷砖(例如:在(260f,280f))?如果我能得到那个图块,我怎么知道它是否包含特定属性(示例属性:“花”、“玫瑰”)?谁能知道该怎么做?

4

1 回答 1

1

如果您查看 TMXTiledMapExample,您会在地图加载时看到它“计数仙人掌”。将其放在那里并不是因为大多数人想知道有多少仙人掌,而是为了表明这是代码中存储对瓷砖及其属性的引用以在游戏期间查找的重要点。

因此,当您解析地图时,您可以存储对创建的切片的引用并根据需要查找它们的属性。

至于知道它在一个点下的哪个图块,它的简单数学。x = 列 * 平铺宽度,y = 行 * 平铺高度。

使用 10x10 的图块的示例。64,93 处是什么牌?(Math.floor(64/tileWidth))、(Math.floor(93/tileHeight) 或 6,9 处的图块

如果您将图块存储在一维数组而不是二维数组中,则它的图块位于 rowIndex * rowsTotal + columnIndex

最后一个帮助提示:确保您的行和列顺序正确。调试时很容易让它们翻转。

于 2013-05-02T20:05:15.047 回答