【发布时间】:2018-06-06 17:38:57
【问题描述】:
当任何 2 个物体相互接触时,不会调用此接触脚本。我试过在任何物体接触时简单地调用该方法,但这也不起作用。
world.setContactListener(new ContactListener() {
@Override
public void beginContact(Contact contact) {
Fixture f1 = contact.getFixtureA();
Fixture f2 = contact.getFixtureB();
Body b1 = f1.getBody();
Body b2 = f2.getBody();
if((b1.getUserData() == "player" && b2.getUserData() == "Enemy") || (b1.getUserData() == "player" && b2.getUserData() == "Enemy")) {
player.death();
hud.death();
}
}
@Override
public void endContact(Contact contact) {
}
@Override
public void preSolve(Contact contact, Manifold oldManifold) {
}
@Override
public void postSolve(Contact contact, ContactImpulse impulse) {
}
});
【问题讨论】:
-
在您的示例代码中,您的两个条件都使用 b1 作为播放器。不应该是 b1 在一个和 b2 在另一个。
标签: libgdx