我正在学习本教程:http://www.raywenderlich.com/475/how-to-create-a-simple-breakout-game-with-box2d-and-cocos2d-tutorial-part-12
但在最后一部分,它展示了我们如何通过在机身上施加阻尼来降低速度
if (speed > maxSpeed) {
b->SetLinearDamping(0.5);
}
其中"b"是世界对象上的一个体。
我正在寻找一种通过设置线性加速度来提高速度的方法(也许是通过施加力?我真的不知道怎么做)
有人能帮我吗?提前感谢
您可以使用:
b2Vec2 force;
force.Set(10.0f, 0.0f);
b->ApplyForce(force, b->GetWorldCenter());
这将在正x方向上对你的身体施加一个力,给你的身体一个恒定的加速度。
如果通过施加力找到方法,则
b2Vec2 velocity = b->GetLinearVelocity();
if (speed <minSpeed) {
b->ApplyForceToCenter(velocity);
}