私はある種のトップダウンレーサーを作成しようと遊んでいますが、車を適切に方向転換させるのに問題があります。現時点では、これは車の位置を更新するために必要なコードです。
var power;
if (keyboard.upKeyDown) {
power = 1;
} else {
power = 0;
}
if (keyboard.leftKeyDown) {
this.rotate -= 0.05;
} else if (this.keyboard.rightKeyDown) {
this.rotate+= 0.05;
}
this.velocityX += Math.cos(this.rotate) * power;
this.velocityY += Math.sin(this.rotate) * power;
var cDrag = 0.98;
this.velocityX *= cDrag;
this.velocityY *= cDrag;
this.positionX += this.velocityX;
this.positionY += this.velocityY;
現時点ではコードは非常にシンプルです。上を押し続けると、指している方向に力が加えられ、小惑星のように感じられます。
次に私がする必要があるのは、車が指している方向と実際に移動している方向を比較し、横方向の力を加えて横方向に減速させるだけでなく、その力の一部を前方向に伝達することですそのため、現在指している方向に進み続けます。
私がこれをどうやってやるかについて少し混乱しているので、どんなアドバイスでも大歓迎です。