2011-02-16 90 views
1

我在box2d世界中有一个身体(玩家)。Box2d SetLinearVelocity不能与重力作用

每当我尝试设置其x速度(每2秒或其他),并且由于重力而下降时,它会上下抖动。

我也尝试设置其等效于重力(-30.0f)的y速度,但后来它变得更糟。

Tyvm。

回答

1

这是因为你的球员是作为一个动态身体创建的。所以每一个模拟步骤都会对玩家施加重力,导致他/她改变速度。

把你的球员b2_kinematicBody - 然后没有力量将被应用到它。如果你仍然希望玩家动态地应用每个步骤的-playerMass*gravityVector(或将b2World的autoClearForces参数设置为false并施加一次力)以消除重力。