내 게임에서의 충돌 문제 : 일부 엔티티의 경우 컨택 리스너에 등록 된 것과 일치하지 않습니다. 특히, 나의 총알과 미사일은 종종 다른 실재물/군중을 통과 할 때가 많으며 때로는 그렇게 할 수있는 경우가 많기 때문에 이러한 불일치의 원인을 실제로 확인할 수는 없습니다. 나는 둘 다 연속적인 충돌을 위해 "총알"로 설정했고, 그들은 불쾌하게 빨리 여행하지 않는다. 그래서 나는 생각이 없다. 난 당신이 또한 고정 B인지 여부를 확인해야합니다 생각충돌이 컨택 리스너에 등록되지 않았습니까? [Libgdx + Box2d]
public class Collisions implements ContactListener {
public Collisions() {
}
@Override
public void beginContact(Contact contact) {
Body a = contact.getFixtureA().getBody();
Body b = contact.getFixtureB().getBody();
if (a.getUserData() instanceof Bullet && b.getUserData() instanceof Enemy) {
Bullet bullet = (Bullet) a.getUserData();
Enemy enemy = (Enemy) b.getUserData();
enemy.harm(10);
bullet.kill();
}
if (a.getUserData() instanceof Missile && b.getUserData() instanceof Enemy) {
Missile missile = (Missile) a.getUserData();
Enemy enemy = (Enemy) b.getUserData();
enemy.harm(40);
missile.kill();
}
if (a.getUserData() instanceof Craft && b.getUserData() instanceof Enemy) {
Craft craft = (Craft) a.getUserData();
Enemy enemy = (Enemy) b.getUserData();
craft.harm(5);
enemy.harm(10);
}
}
@Override
public void endContact(Contact contact) {
}
@Override
public void preSolve(Contact contact, Manifold oldManifold) {
}
@Override
public void postSolve(Contact contact, ContactImpulse impulse) {
}
}
문제를 설명해 주시면 문제는 연락처가 전혀 선택되지 않았 음을 의미합니다. 잘못 처리되지는 않습니다. – Surveon