查看java doc http://slick.ninjacave.com/javadoc/和對象TiledMap。
你所需要的這兩種方法是: getObjectGroupCount()
& getObjectCount(int groupid)
的getObjectGroupCount()
方法會返回在您的瓷磚地圖,是對象層,或者爲每個對象層,而該標識層的總數。
getObjectCount(int groupid)
將返回任何給定圖層上的對象總數或對象組內的對象數量。
從這裏你可以得到地圖中圖層的總數和每層上的對象總數,所以你知道需要循環多少次才能訪問每個對象的索引,首先是組ID,它的對象ID
我不明白的方式按名稱搜索,如果別人沒有,那麼請大家指正。否則,我建議在加載地圖時閱讀這個數組。如果有任何對象ID需要在主遊戲循環內動態調用(在繪製時),我會將ID放在某處,稍後您可以輕鬆訪問該對象。
編輯:我會做一個快速的非語法檢查或測試的代碼解釋:
TiledMap aMap = new TiledMap("whatever.tmx");
int objectGroupCount = aMap.getObjectGroupCount();
for(int gi; gi < objectGroupCount; gi++) // gi = object group index
{
int objectCount = aMap.getObjectCount(gi);
for(int oi; oi < objectCount; oi++) // oi = object index
{
System.out.println(aMap.getObjectName(gi, oi));
System.out.println(aMap.getObjectProperty(gi, oi, "somepropertyname", ""));
}
}
非常感謝你,這正是我一直在尋找! – Rayexar