1

動的なボディがあり、SetLinearVelocityを使用すると更新ループで移動できますが、ApplyForceを使用するとボディはまったく移動しません。b2DynamicBodyに力を加えることに関して私が見逃しているものはありますか?

var force:b2Vec2 = new b2Vec2();

if (keyIsDown(Keys.S)) force.y = 6;
if (keyIsDown(Keys.A)) force.x = -6;
if (keyIsDown(Keys.D)) force.x = 6;

_body.SetAwake(true);
if (force.x != 0 || force.y != 0)
    _body.ApplyForce(force, _body.GetPosition());

前もって感謝します。

4

1 に答える 1

1

このコードは更新機能に含まれていますか?力が6に設定されていることを確認しましたか?

また、力がオブジェクトを動かすのに十分な大きさであることを確認します。たぶんそれを60または600に増やして、違いが生じるかどうかを確認してください。摩擦が大きい場合、小さな力はオブジェクトを動かしません。

于 2012-11-14T02:23:01.927 に答える