0
  this.update = function() {
    if (state == "game") {
      if (jaws.pressed("p") && !jaws.paused) {
        jaws.paused = true;
        setTimeout(function() {
          var unpause_interval_id = setInterval(function() {
            if (jaws.pressed("p") && jaws.paused) {
              jaws.paused = false;
              clearInterval(unpause_interval_id);
            }
          });
        }, 5000);
      }

それは、私が取り組んでいるゲームを一時停止しようとする試みです。基本的には、プレーヤーが一時停止したときに、プレーヤーが一時停止を解除するかどうかをチェックする関数に 5 秒のタイムアウトを設定します。

ただし、間隔のクリアに成功していません。clearInterval関数は機能しません。デバッグしたことから確信しています。私が間違っていることについて何か考えはありますか?

ありがとうございました!

4

2 に答える 2

2

どうですか:

function p_unp()
{
   jaws.paused = !jaws.paused;
}

jaws.on_keypress("p", p_unp);
于 2012-04-07T12:20:30.940 に答える
-3

機能を削除することをお勧めしsetIntervalます。while loop代わりに:

  this.update = function() {
    if (state == "game") {
      if (jaws.pressed("p") && !jaws.paused) {
        jaws.paused = true;
        while (jaws.paused) {
            if (jaws.pressed("p") && jaws.paused) {
              jaws.paused = false;
            }
        }
    });
  }
于 2012-04-07T12:14:01.343 に答える