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

此代码在您的更新功能中吗?你确定 force 设置为 6 吗?

我还要确保力足够大以移动物体。也许将它增加到 60 或 600,看看它是否有所作为。如果摩擦力很高,小力不会移动物体。

于 2012-11-14T02:23:01.927 回答