從地圖上移除胸部以便不再收集胸部是可能的,但不能編輯TMX地圖。爲了達到這個目的,每當玩家走過一個胸部時(通過向胸部添加屬性如胸部=真,然後檢查它),除了獎勵玩家,你必須做一些事情,這是使用共享首選項的胸部已經被使用了一個字符串集合(例如,用「鑰匙箱」)並且包含座標,用「:」分隔。要保存座標:
String saveMe = tileRow + ":" + tileColumn;
removeChest(tileRow, tileColumn);
要加載的座標:
String loaded = loadString();
String[] coords = loades.split(":");
tileRow = Integer.parseInt(coords[0]);
tileColumn = Integer.parseInt(coords[1]);
removeChest(tileRow, tileColumn);
現在您可以保存/載入用箱子。這是每當玩家走到它具有(胸=真)屬性瓷磚:
boolean found = false;
for (int i = 0; i < chestsUsedTileRowsArray.length; i++) {
if (chestFoundTileRow == chestsUsedTileRowsArray[i] && chestFoundTileColumn == chestsUsedTileColumnsArray[i]) {
found = true;
break;
}
}
if (!found) {
rewardPlayer();
saveChestUsed(tileRow, tileColumn);
}
最後,還有removeChest()
這需要一個小竅門:繪製這對胸部地面的紋理精靈:
void removeChest(int tileRow, int tileColumn) {
final TMXTile tileToReplace = tmxMap.getTMXLayers().get(0).getTMXTile(tileColumn, tileRow);
final int w = tileToReplace.getTileWidth();
final int h = tileToReplace.getTileHeight();
Sprite sprite = new Sprite(w * (tileColumn + 0.5), h * (tileRow + 0.5), textureRegionOfGround, this.getVertexBufferObjectManager());
scene.addChild(sprite);
}