2012-04-07 13 views
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とゲームの一時停止

しかし、私は間隔をクリアすることに成功していない、clearInterval関数は動作しません、私はそれを私がデバッグしたものから確信しています。私が間違っていることのアイデア?

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

+1

てみましたか? – user907860

答えて

2

方法について:あなたは(( "P")jaws.pressed && jaws.paused)場合ずに間隔をクリアするために

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

jaws.on_keypress("p", p_unp); 
+0

それは動作しますが、プレイヤーが再び一時停止する前にX秒待たなければならないようにするにはどうすればよいですか?ありがとうございました。 –

-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; 
      } 
     } 
    }); 
    } 
+3

これはブラウザ全体をフリーズさせます。ニースアドバイス... –

+0

良いとは思わない。ブラウザは私たちが盗んだそのようなスクリプトを検出し、ユーザーに終了を要求することができます。また、これはオーバーロードを引き起こす可能性があります – user907860

関連する問題