[在Box2D中,当我打电话时,我有很多具有相同BodyDef
的物体:
Array<Body> bodies = new Array<Body>();
world.getBodies(bodies);
for(Body b : bodies){
if(b.getPosition().y < -20f) {
world.destroyBody(b);
}
}
它用BodyDef
摧毁了所有尸体。
我该如何解决?
您在这里没有引用任何BodyDef
。
world.destroyBody(b);
仅应销毁尸体b
。只要确保您的if
条件正常即可。您也可以逐步调试(或在if
内放一个日志),仅检查销毁的尸体数量是否与if
条件为true
的次数相同。