2
我需要在JBox2D android遊戲中摧毀人體碰撞後的其中一個。我發現JBox2D世界在身體接觸時變得鎖定。我想在碰撞後摧毀一個身體。世界釋放鎖後,我可以接到任何回電嗎?我發現了一個選擇,將身體添加到數組中以銷燬它。但是什麼時候摧毀身體?我在這個遊戲中沒有使用andengine/libgdx。在下面找到我的碰撞監聽器類,摧毀身體碰撞JBox2D android
private class CollisionListener implements ContactListener {
@Override
public void beginContact(Contact contact) {
Object fixtureA = contact.getFixtureA().getUserData();
Object fixtureB = contact.getFixtureB().getUserData();
Body mBodyA = contact.getFixtureA().getBody();
Body mBodyB = contact.getFixtureB().getBody();
if (fixtureA instanceof Bullet) {
destroyBalloonBody(mBodyB);
}
if (fixtureB instanceof Bullet) {
destroyBalloonBody(mBodyA);
}
}
@Override
public void endContact(Contact contact) {
}
@Override
public void postSolve(Contact contact, ContactImpulse contactImpulse) {
}
@Override
public void preSolve(Contact contact, Manifold manifold) {
}
}
public void destroyBalloonBody(Body balloon){
//Can i start a new thread which is having a loop until the world become release for destroying the body
//Or
//Do i need to add the body to a deletionArrayList to destroy it.
}