3
私は学校でゲーム制作者のための簡単なレベルのプラットフォームを作っています。JSの加減速
右矢印キーを押したままにすると、文字が徐々に右に移動し、最大速度に達するまでスピードアップします。矢印キーが離されるまで、最大速度で移動し続けます。解放されると、キャラクターは徐々に減速して停止する。
私はスピードを上げることができますが、キーが離されると、キャラクターはスローダウンして停止するのではなく、瞬時にジャンプして停止します。力がdraw()
に少し、1コールに1回減少の代わりに単一の呼び出しで0までずっと減少しているように
var maxSpeed = 10;
var xForce = 0;
var CharaXPos = 10;
var CharaYPos = 200;
var draw = function() {
background(255, 0, 0);
image(getImage("creatures/Winston"), CharaXPos, CharaYPos, 50, 50);
if (keyIsPressed && keyCode === RIGHT) {
CharaXPos = CharaXPos + xForce;
xForce = xForce + 0.25;
if (xForce >= maxSpeed && keyIsPressed) {
xForce = maxSpeed;
}
}
if (!keyIsPressed) {
while (xForce > 0) {
CharaXPos = CharaXPos + xForce;
xForce = xForce - xForce*0.25;
}}
};
ありがとうございました!私はその小数点値が減少していてゼロにはならないことを知っていましたが、2つの異なるコンピュータでこのコードを2回反復している間にいくつかの異なる保存が混ざりました。 (私はもはやコンピュータの1つにアクセスできなかったので、以前のセーブでそれを使用しなければならなかった) – Marco