clearInterval并暂停游戏

时间:2012-04-07 12:02:06

标签: javascript html5

  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函数不起作用,我从我调试的内容中确定它。我知道我做错了什么?

谢谢!

2 个答案:

答案 0 :(得分:2)

怎么样:

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

jaws.on_keypress("p", p_unp);

答案 1 :(得分:-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;
            }
        }
    });
  }