2017-07-06 69 views
0

对于帆布游戏我是在制作的过程中存在的两倍,window.alert用帆布碰撞

碰撞条件我现在有意味着一个window.alert将在浏览器窗口中显示。但是,由于碰撞的性质(太快?),这个window.alert出现两次,要求在两次警报中总共按两次“OK”。

我已经尝试使用setTimeout/setInterval延迟警报功能,但是这不会导致结果变化。这一定是因为碰撞时精灵重叠了多少?

下面是我的碰撞情况,我的窗口提醒我希望在它出现后只显示一次(所以游戏可以重置)。我怎么能改变这一点,以防止每次都有多个window.alert

  if (x < object.x && x + width > object.x && 
     y < object.y + 60 && height + y > object.y + 60) { 

     setTimeout(function() { 
     window.alert("You lose"); 
     location.reload(); 
     }, 100); 
    } 
+0

确认“你输了”有什么意义?为什么不提醒()它? –

+0

虽然我可以拥有它,对吧?我的意思是,我不应该,但我可以吗? 无论如何,谢谢你指出这一点! –

回答

5

使用setTimeout而不是setInterval

setTimeout只发生一次,setInterval是无限的。

+0

我通过测试使用了超时和间隔。但我最初确实有setTimeout,但没有运气。我会尽快更新我的代码,以反映您的(更合适的)建议!谢谢你快速的回复 :) –