4

我在 Box2D 中有很多相同的身体,BodyDef当我打电话时:

Array<Body> bodies = new Array<Body>();
world.getBodies(bodies);
for(Body b : bodies){
    if(b.getPosition().y < -20f) {
        world.destroyBody(b);
    }
}

它摧毁了所有的尸体BodyDef

我该如何解决?

4

1 回答 1

7

您在BodyDef这里没有引用任何内容。

world.destroyBody(b);

应该只毁掉身体b。只要确保你的if条件是好的。您也可以逐步调试(或在 中放置日志),只是为了检查销毁的主体数量是否与条件if的次数相同。iftrue

于 2013-10-13T10:15:26.507 回答