2016-10-13 2 views
0

Это код, который я использую для получения ячейки плитки, поэтому я могу ее удалить.Как сделать монеты плитки исчезают LibGDX

public TiledMapTileLayer.Cell getCell(){ 
    TiledMapTileLayer layer = (TiledMapTileLayer)map.getLayers().get(1); 
    return layer.getCell((int)(body.getPosition().x * Constants.PPM/32), 
      (int)(body.getPosition().y * Constants.PPM/32)); 
} 

Проблема в том, что у меня есть монета в моем Bo2dWorld, которая является 2x2 клетками большой.

Если я вызываю этот метод, он удаляет только верхнюю правую угловую ячейку монеты. Но я хочу удалить все 4 ячейки монетки. Кто-нибудь знает, как это сделать?

ответ

0

Монета 2х2 плитки большой, и вы только вернуться на эти плитки в вашем GetCell()

Одним из вариантов является объявление свойство для монетных плитки в Tiled. Назовите это что-то вроде «CoinTileCorner». Затем назовите 4 плитки «TopLeft», «TopRight», «BottomLeft» и «BottomRight».

Теперь, когда вы получаете ячейку, возвращенную из getCell, вы можете проверить свойство и узнать, какие другие плитки удалить с ним.

private void removeCoin(cell){ 
    String corner = cell.getTile().getProperties().get("CoinTileCorner"); 

    if(corner.equals("TopLeft")){ 
     //remove this cell, the cell to the right, below and the one bellow on the right. 
    else if(corner.equals("TopRight")){ 
     //remove this cell, the one to the left... and so on and so forth. 
    } 
} 
+0

спасибо! – MarioVZ

Смежные вопросы