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