2017-11-11 10 views
0

私は基本的なゲームを作っています。下のコードが示すように、ジャンプ変数がfalseに設定され、スペースバーが押されると、オブジェクトが上に移動します(したがって、ジャンプします)。JavaScript/HTML - 変数のSetTimeout構文

これは機能します。しかし、オブジェクトを無期限にジャンプさせたくありません。だから非常に荒々しく、私は2秒後にジャンプ変数を再びfalseにするようにタイムアウトを設定しているので、再びジャンプすることができます。

私はこれが非常に粗末であることを認識しています。しかし、これは私がそれをどのようにプログラムしたいのかです。最後の2行を追加した後

(jumping = true and setTimeout(function() { jumping == false; }, 2000);)オブジェクトはもはやジャンプしません。私は、エラーが存在しないにもかかわらず正しく書き込まれていないsetTimeout関数があると思います。誰でも光を当てることはできますか?

これが愚かな質問である場合はお詫び申し上げます。


  //function to handle keyboard events 
      function KeyboardEventHandler(event) { 
       //if the up arrow is pressed 
       if (jumping == false && event.keyCode == keycode.SPACE) { 
        object.VY -= 0.1; 
        jumping = true; 
        setTimeout(function() { jumping == false; }, 2000); 
       } 
      } 

答えて

1

はsetTimeoutメソッド内で偽==ジャンプしない、偽=ジャンプするべきです。