我有两个带有Contact Listener的动态实体,我们可以调用主体A和B.
当身体(A.tag == Car)与身体碰撞时(B.tag == Cat)我不希望汽车被推回去,我希望猫被推,但不要推回车上(导致汽车停止!)
我觉得我错过了一些简单的东西,但有人可以解释一下我如何操纵b2Contact以便一个对象不会改变速度而另一个对象呢?
谢谢!
答案 0 :(得分:0)
您可以使用PreSolve和PostSolve回调。 在PreSolve中,将汽车速度,角速度,角度和位置保存在某处 - 例如,作为汽车userData对象上的实例变量。在PostSolve中恢复这些值。
PreSolve在碰撞之前调用,在碰撞后立即调用PostSolve - 当速度发生变化时。我自己没试过,但应该工作。