私は物理学にbox2dを使用してAndroidゲームを作成しています.WheelJointsを使用して車輪が本体に取り付けられた車両があります。現在、これらの車両を加速し、速度を特定の値に制限する適切な方法を探しています。現在、次の方法で実行しています。
public void accelerate(int direction)
{
if (Math.abs(wheel1.getAngularVelocity()) < maxSpeed)
{
wheel1.applyAngularImpulse(accelerateRatio * direction);
wheel1.applyAngularImpulse(accelerateRatio * direction);
}
}
どこ:
- wheel1とwheel2は私のホイール ボディです。
- int 方向は、加速したい方向です (右に 1、左に -1)。
- 加速比率 - 加速の比率、例えば 10 など。
- maxSpeed - 車両の最大速度 (12 など)。
特に迷惑なバグがあるため、完全な解決策ではないと思います。たとえば、右に加速し、左に加速するよりも、最大速度のチェックがあるため、車両は最初に減速する必要があります。