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