如何从平铺中删除对象?

时间:2019-08-30 19:53:45

标签: libgdx tiled

可以说我在Tiled的对象层中放置了一个对象。编写代码时应如何将这些对象彼此分开? (例如:我们与硬币的主体相撞,不再需要该主体)

1 个答案:

答案 0 :(得分:0)

对于图块层,只需将cell设置为null。

   //Rectangle tmp = new Rectangle();
   if (colideTileLayer.getCell(ix, iy) != null) {
      tmp.set(ix * tileWidth, iy * tileHeight, tileWidth, tileHeight);
      if (tmp.overlaps(rectangle)) {
        colideTileLayer.setCell(ix, iy, null); //THIS IS LINE
        GameManager.INSTANCE.incResult();
        result = true;
      }
    }

如果您的障碍物在对象层中定义并在图块层中直观显示,则根据对象位置重新计算需要擦除的图块。

比从对象层删除对象,请使用remove方法。

//MapObjects objects = layer.getObjects(); //you read if from object layer
//MapObject object = getColidedObject(); //you need to know what to remove 
objects.remove(object); //remove