如何获得特定位置的瓷砖及其属性?

时间:2013-04-27 14:44:38

标签: android andengine

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

1 个答案:

答案 0 :(得分:1)

如果你看一下TMXTiledMapExample,你会看到,当地图加载它时“计算cactuses”。这不是因为大多数人都想知道有多少仙人掌,而是为了表明这是在游戏中存储对图块及其属性的引用的代码中的一个很好的点。

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

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

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

的图块)

如果您将瓷砖存储在一维数组中而不是二维数组中,则将其存储在rowIndex * rowsTotal + columnIndex

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