2013-04-27 21 views
1

最近,我試圖學習AndEngine GLES2-Anchor在Android中創建簡單的遊戲。我正在使用TiledMap和Nicolas提供的示例,我可以成功加載TiledMap和我的「播放器」進行屏幕顯示。但是,我想知道如何在特定位置獲得拼貼(例如:在(260f,280f))?如果我能得到這個瓷磚,我怎麼知道它包含一個特定的屬性(例如屬性:「花」,「玫瑰」)?任何人都可以知道如何做到這一點?如何讓瓷磚在特定的位置及其屬性?

回答

1

如果你看一下TMXTiledMapExample,你會發現當地圖加載它時會「計數仙人掌」。這並不是因爲大多數人想知道有多少個仙人掌,而是爲了表明這是代碼中的一個偉大點,用於存儲對遊戲中查詢的瓦片及其屬性的引用。

因此,當你解析你的地圖時,你可以存儲對創建的貼圖的引用並根據需要查找它們的屬性。

而至於知道哪個瓷磚它在一個點下它的簡單數學。 x =列*瓦片寬度,y =行*瓦片高度。

一個使用10x10的瓷磚的例子。什麼瓷磚在64,93? (Math.floor(64/tileWidth)),(Math.floor(93/tileHeight)或6,9

如果您將拼貼存儲在一維數組而不是二維中,瓷磚在的rowIndex * rowsTotal + columnIndex

最後一個幫扶提示:!一定要得到你的行和列單吧調試時它容易得到他們倒裝以失敗告終

+0

好主意不過,我已經在'TMXTiledMapExample'中找到了解決方案:'TMXTile tile = mTmxLayer.getTMXTileAt(x,y,true);''看起來對我來說更容易! – 2013-05-03 03:38:36