2011-02-16 88 views
1

我在box2d世界中有一個身體(玩家)。Box2d SetLinearVelocity不能與重力作用

每當我嘗試設置其x速度(每2秒或其他),並且由於重力而下降時,它會上下抖動。

我也嘗試設置其等效於重力(-30.0f)的y速度,但後來它變得更糟。

Tyvm。

回答

1

這是因爲你的球員是作爲一個動態身體創建的。所以每一個模擬步驟都會對玩家施加重力,導致他/她改變速度。

把你的球員b2_kinematicBody - 然後沒有力量將被應用到它。如果你仍然希望玩家動態地應用每個步驟的-playerMass*gravityVector(或將b2World的autoClearForces參數設置爲false並施加一次力)以消除重力。