【问题标题】:Box2D Obj-C alter dynamic collisionBox2D Obj-C 改变动态碰撞
【发布时间】:2012-11-27 21:08:43
【问题描述】:

我有两个带有 Contact Listener 的动态主体,我们分别调用主体 A 和 B。

当身体 (A.tag == Car) 与身体 (B.tag == Cat) 碰撞时,我不希望汽车被推回,我希望猫被推但不推回车上(导致车也停了!)

我觉得我遗漏了一些简单的东西,但有人可以解释一下我如何操纵 b2Contact 以使一个对象不改变速度而另一个改变吗?

谢谢!

【问题讨论】:

标签: cocos2d-iphone box2d


【解决方案1】:

您可以使用 PreSolve 和 PostSolve 回调。 在 PreSolve 中将汽车速度、角速度、角度和位置保存在某处 - 例如,作为汽车的 userData 对象上的实例变量。在 PostSolve 中恢复这些值。

在这些物体碰撞之前调用 PreSolve,而在碰撞之后立即调用 PostSolve - 当速度改变时。自己没有尝试过,但应该可以。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 2012-06-10
    • 2013-02-02
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多