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