背景: 私はプレイヤーが円に触れることで宇宙船を制御する鳥瞰図の JavaScript ゲームを持っています。右など...疑似ジョイスティックの円の中心から離れるほど、その方向の速度が速くなります。ただし、船の速度を直接調整するのではなく、targetSpeed.x と targetSpeed.y の値を設定すると、船は次のようなものを使用して速度を調整します。
if (this.speed.x < this.targetSpeed.x) {
this.speed.x += this.speedStep;
}
else if (this.speed.x > this.targetSpeed.x) {
this.speed.x -= this.speedStep;
}
... y 速度についても同じです。speedStep は、それをよりスムーズにし、急すぎないようにするための小さな値です (船は、高速の左方向からすぐに高速の右方向に移動するべきではありません)。
私の質問: 上記のコードを使用すると、速度は対角線方向でより速く調整され、水平/垂直線に沿って遅く調整されると思います。これを修正して、目標速度が同じになるようにするにはどうすればよいですか?
助けてくれてありがとう!