如何在Box2D机身上施加恒定力?

时间:2011-04-14 16:41:41

标签: iphone box2d

我正在为iPhone制作Box2d游戏。我需要对代表我主角的身体施加一个力量。实体实际上是一个圆形顶部的矩形,使用旋转关节连接。我正在使用它作为我的角色的骨架,应该在游戏中运行(任何建议或对此的反馈也将受到赞赏)。

我需要连续施加力才能让他继续前进。最好的方法是什么?

我目前正在tick方法中应用线性速度。

_world->Step(dt, 10, 10);

if(gamestarted)
{
    b2Vec2 force = b2Vec2(6, -3);
    _bottomBody->SetLinearVelocity(force);
}

但这种力量会不断加起来加速身体?

1 个答案:

答案 0 :(得分:6)

似乎很简单:

_bottomBody->ApplyForce(force, _bottomBody->GetPosition());

如果在每一步中施加该力,身体将朝向力矢量方向加速。