【发布时间】:2013-03-27 18:37:08
【问题描述】:
我正在制作 android 游戏,使用 box2d 进行物理,我有车辆,轮子使用 WheelJoints 连接到主体车身。现在我正在寻找一种适当的方法来加速这些车辆,并将它们的速度限制在某个值,目前我正在这样做:
public void accelerate(int direction)
{
if (Math.abs(wheel1.getAngularVelocity()) < maxSpeed)
{
wheel1.applyAngularImpulse(accelerateRatio * direction);
wheel1.applyAngularImpulse(accelerateRatio * direction);
}
}
地点:
- wheel1 和 wheel2 是我的轮体。
- int direction 是我们要加速的方向(1 右,-1 左)
- accelerateRatio - 加速度的比率,例如 10。
- maxSpeed - 车辆的最大速度,例如 12 等
我认为它不是一个完美的解决方案,特别是因为它有烦人的错误,而让我们说向右加速,而不是向左加速,车辆必须首先减速,因为有最大速度的检查。
【问题讨论】: