Box2D联系人侦听器,LibGDX
我正在使用LibGDX和Box2D开发游戏。我想得到两个物体碰撞时的力或冲量,但我找不到正确的方法,如何使用contact listener获得冲量或冲量?我无法使用postSolve方法中的ContactImpulse参数获得冲量。谁能帮我Box2D联系人侦听器,LibGDX,libgdx,box2d,Libgdx,Box2d,我正在使用LibGDX和Box2D开发游戏。我想得到两个物体碰撞时的力或冲量,但我找不到正确的方法,如何使用contact listener获得冲量或冲量?我无法使用postSolve方法中的ContactImpulse参数获得冲量。谁能帮我 new ContactListener() { @Override public void preSolve(Contact contact, Manifold oldManifold) { // TODO Au
new ContactListener() {
@Override
public void preSolve(Contact contact, Manifold oldManifold) {
// TODO Auto-generated method stub
}
@Override
public void postSolve(Contact contact, ContactImpulse impulse) {
// TODO Auto-generated method stub
}
@Override
public void endContact(Contact contact) {
// TODO Auto-generated method stub
}
@Override
public void beginContact(Contact contact) {
// TODO Auto-generated method stub
}
};
在preSolve(接触接触,歧管)
方法中,可以查询碰撞的两个物体的速度。使用contact.getFixtureA()
和contact.getFixtureB()
,可以获得每个装置的主体,以及使用主体.getLinearVelocity()
preSolve
方法是在box2D实际解析碰撞之前调用的,因此在碰撞瞬间,碰撞速度仍然可以访问
如手册所述:“预解算事件也是确定碰撞点状态和接近速度的好地方”
您可以使用preSolve
中提供的信息,例如物体的重量和移动速度,来确定物体会受到什么影响