我使用libgdx和box2d制作游戏。我有动态的身体和静态。当动态体与静态碰撞时,动态应该返回到起点(矢量(0,0))。 我的联系方式:
public void beginContact(Contact contact) {
body = contact.getFixtureA().getBody();
bodyBanana = contact.getFixtureB().getBody();
body.getUserData();
if(body.equals(bodyBanana) )
{
body.setLinearVelocity(new Vector2(0 , 0));
}
}
我在render()方法中调用它:
this.beginContact(contact);
但我在行中有NullPointerException:
if(body.equals(bodyBanana)
我不知道发生了什么事?谢谢你的帮助。
答案 0 :(得分:1)
bodyBanana = contact.getFixtureB().getBody();
if(body==null || bodybanana==null) return; //add this
body.getUserData();
请注意。我不是唯一一个现在获得无效联系的人,就像你一样。