Я пишу программу на Java, используя JBox2D. Мне нужно найти точную точку столкновения двух текстур, если и когда они столкнутся.
У меня есть код, чтобы определить, происходит ли столкновение, и, очевидно, я могу просто вызвать идентификатор объекта столкновения, чтобы определить, какие текстуры сталкиваются.
Чего я не могу понять, так это того, как получить фактические координаты самого столкновения. Я читал документацию, но она очень сложна и не решает эту проблему напрямую.
Вот мой код:
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){}
}