C ++ Box2D - 如果不管它,动态物体不受重力影响

时间:2012-12-22 02:48:55

标签: c++ c box2d sfml

我在SFML2中玩Box2D并实现了;当我改变世界的引力时,未受影响的动态物体不会受到重力变化的影响。我准备了一个视频,使这个解释更清楚。

任何解决方案?我是否必须发挥自己的引力,为什么会发生这种情况?

This is the video. Notice if the bodies don't move for a short while, they aren't affected by the more recently moved ones.

1 个答案:

答案 0 :(得分:6)

Box2D中的物体在休息后进入睡眠状态。更改重力等参数后,您必须通过在所有对象上调用WakeUp来唤醒睡眠对象。当物体与物体碰撞时,物体也会自动被唤醒,这就是为什么重力似乎在物体与物体碰撞后开始生效。