2012-04-07 163 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

你有沒有嘗試清除間隔,如果沒有(jaws.pressed( 「P」)&& jaws.paused)? – user907860 2012-04-07 12:15:03

回答

2

如何:

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

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

這一工程,但我怎樣才能讓這個球員必須等待X秒之前,他可以再次取消暫停?謝謝。 – 2012-04-07 14:02:40

-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

這將凍結整個瀏覽器。不錯的建議... – 2012-04-07 12:18:24

+0

似乎不好。瀏覽器可以檢測到這樣的腳本我們竊聽並要求用戶終止。也可能會造成過載 – user907860 2012-04-07 12:19:42