我有一个抛射物和一个塔。当我投掷射弹时它击中了塔。基于弹丸力,塔架被打破。现在我需要知道如何在碰撞时(不是在碰撞之前,而是在碰撞之后)获得应用于这两个物体的力。我知道用以下方法计算它们 -
void MyContactListener::PostSolve(b2Contact* contact, const b2ContactImpulse *impulse)
{
force=impulse->normalImpulses[0];
}
这给了我施加的整体力,但我想知道应用于2个不同物体的个别力。
另一个问题,这个方法驻留在b2ContactListener类的子类中。如何将此值传递给gameScene,其中对象将被销毁。
答案 0 :(得分:1)
同样的冲动适用于两个身体(当然是相反的方向)。
您需要拥有一个对PostSolve回调以及您需要使用它的任何其他地方都可见的变量 - 可以使用全局变量或类变量。