私は、ユーザーが左または右の矢印キーを保持すると、その方向に徐々に加速し、最終的に最高速度に達するプログラムがあります。キーが離されると、キャラクターは完全に停止するまで徐々に減速します。javascript緩やかな減速度(左)
私の右矢印キーは問題ありませんが、左が壊れています。私の左矢印キーはうまく加速しますが、キーが離されると、文字はちょうど左キーが押される前に開始位置にまっすぐに移動します。 (これは始まった場所よりも少し先にあるかもしれません)
私はこれがなぜ起こっているのか分かりますが、私はそれを修正しようとしましたが失敗しました。ここで
は私のコードです:
var maxSpeed = 15;
var xForce = 0;
var kingXPos = 10;
var kingYPos = 200;
var draw = function() {
background(255, 0, 0);
image(getImage("creatures/Winston"), kingXPos, kingYPos, 50, 50);
if (keyIsPressed && keyCode === RIGHT) {
kingXPos = kingXPos + xForce;
xForce = xForce + 0.1;
if (xForce >= maxSpeed && keyIsPressed) {
xForce = maxSpeed;
}
}
if (keyIsPressed && keyCode === LEFT) {
kingXPos = kingXPos - xForce;
xForce = xForce + 0.1;
if (xForce <= -maxSpeed && keyIsPressed) {
xForce = -maxSpeed;
}
}
if (!keyIsPressed) {
if (xForce > 0) {
kingXPos = kingXPos + xForce;
xForce = xForce - 0.1;
}
}
};
私は左のキーを離したときに、私の文はまだ真である場合keyIsPressed、およびxForceはまだ小さくなっているため、このコードが壊れています!。私はちょうどこれを修正する方法を知らない。