我如何像排球一样在box2d中移动身体球而又不加速或倾倒(以恒定速度)。

我需要一个特殊的公式吗?

最佳答案

在Box2D中,您move an object with forces。您可以施加脉冲或线性力。

您可以施加冲动来做:

myBody->ApplyForce( force, myBody->GetWorldCenter() );

或通过以下方式产生力量:
myBody->ApplyForce(force, myBody->GetWorldCenter());

请注意,力不是可以构造的b2Vec:
b2Vec force = b2Vec2(0,50);

这种力量只会将身体向上推。

如果需要抛物线轨迹,则可以创建一个分量x和y大于0的力:
b2Vec force = b2Vec2(50,50);

然后,物理引擎将完成其余的工作。

您也可以移至specific position,尽管我不建议您这样做。

如果您想了解有关部队then follow this link的更多信息。

09-25 16:57