7

我在 SFML2 中使用 Box2D 并意识到;当我改变世界的重力时,有一段时间没有动过的动态物体不受重力变化的影响。我准备了一个视频来使这个解释更清楚。

有什么解决办法吗?我必须自己做重力吗?为什么会这样?

这是视频。请注意,如果身体短时间内不移动,它们不会受到最近移动的身体的影响。

4

1 回答 1

6

Box2D 中的对象在静止后进入睡眠状态。更改重力等参数后,您将不得不唤醒沉睡的对象,可能是通过调用WakeUp所有对象。当物体与物体发生碰撞时,物体也会自动唤醒,这就是为什么在物体与物体碰撞后重力似乎开始生效的原因。

于 2012-12-22T02:53:53.300 回答