如何让Coin tile消失LibGDX

时间:2016-10-13 07:49:59

标签: libgdx

这是我用来获取Tile单元格的代码,所以我可以删除它。

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个单元格。 有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

硬币是2x2瓷砖大而你只能在你的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.
    }
}