我正在使用我在堆栈溢出时发现的一些碰撞代码,它使用.setInterval,当降低到类似游戏时的效果似乎并不高效。我希望在错误结果时重置#div1。
EventListener会更好吗? 对于每秒可能发生碰撞的事情,最好的替代方案是什么?
window.setInterval(function() {
var bang = collision(collisionOne, collisionTwo);
$('#result').text(bang);
if (bang) === false){
$('#div1').detach();
}
}, 20);
答案 0 :(得分:1)
在某些情况下,函数可能需要比间隔时间更长的时间才能完成执行。考虑每5秒使用一次setInterval,变量可能会阻止请求按时完成。会发生什么事情,你最终会得到一堆排队的请求,这些请求可能不一定按顺序返回。 你可以改用......
function interval(){
setTimeout(interval, wait);
};
wait
是时间变量。