间隔时间不断变化的定时器
使用定时器的时候,用setInterval(),即使传入的是个变量,也不会让间隔时间会改变,当定时器调用是变量的值就是永远的值了,变量变化后不会对定时器的间隔时间造成影响。
这个问题就只有使用setTimeout()配合递归来解决
// 创建激光:由于要不断增加激光创建的速度,所以不能用setInterval(),只能使用递归setTimeout()
function creatLaser(){
setTimeout(function(){
var L=new Laser();
L.create();
laser.push(L);
creatLaser(); //递归
},createLaserTime);
}
不断的调用自身,当变量变化时就能立即反映到时间间隔上,也可以通过恒定时间来模拟setInterval()
浙公网安备 33010602011771号