Я изучаю libGDX на Android. Я пытаюсь удалить тело из мира после столкновения. Но, несколько раз, тела не удаляются немедленно, требуется 2-3 секунды для правильного удаления.Box2D Body не удаляется сразу (LibGDX Android)
private void deleteDeadBodies(){
Iterator<Body> i = world.getBodies();
Body node=i.next();
while (i.hasNext()) {
Body oBj=node;
node=i.next();
if(oBj.getUserData() == Constants.BodyType.DESTROY){
removeBodySafely(oBj);
}
}
}
private void removeBodySafely(Body body) {
final ArrayList<JointEdge> list = body.getJointList();
while (list.size() > 0) {
world.destroyJoint(list.get(0).joint);
}
world.destroyBody(body);
}
Я вызываю deleteDeadBodies() после функций мирового шага. Мой мир шаг параметры,
public static final float BOX_STEP = 1/80f;
public static final int BOX_VELOCITY_ITERATIONS = 6;
public static final int BOX_POSITION_ITERATIONS = 2;
Может ли тело помочь мне здесь?