Piszę program w Javie przy użyciu JBox2D. Muszę znaleźć dokładny punkt kolizji między dwiema teksturami, jeśli i kiedy się zderzają.JBox2D - Znajdź współrzędne kolizji
Mam kod określający, czy zdarza się kolizja, i można oczywiście wywołać identyfikator obiektu kolizji, aby określić, które tekstury są kolizyjne.
Czego nie mogę się domyślić, to jak pobrać rzeczywiste współrzędne samej kolizji. Przeczytałem dokumentację, ale jest to bardzo skomplikowane i nie rozwiązuje tego problemu bezpośrednio.
Oto mój kod:
import org.jbox2d.callbacks.ContactImpulse;
import org.jbox2d.callbacks.ContactListener;
import org.jbox2d.collision.Manifold;
import org.jbox2d.common.Vec2;
import org.jbox2d.dynamics.Fixture;
import org.jbox2d.dynamics.contacts.Contact;
public class MyContactListener implements ContactListener{
//When they start to collide
public void beginContact(Contact c) {
System.out.println("CONTACT");
Fixture fa = c.getFixtureA();
Fixture fb = c.getFixtureB();
Vec2 posA = fa.getBody().getPosition();
Vec2 posB = fb.getBody().getPosition();
}
public void endContact(Contact c) {
}
public void preSolve(Contact c, Manifold m) {}
public void postSolve(Contact c, ContactImpulse ci){}
}