我有两个问题:
1:括号中的“millis”是什么?是毫秒,如果是,它是计时器还是别的什么?
2:这是否意味着if(lastTime ) mean if(lastTime == 0 )?
提前致谢!
let lastTime;
function callback(millis) {
if(lastTime) {
update(millis - lastTime) /1000;
}
lastTime = millis;
requestAnimationFrame(callback);
}
答案 0 :(得分:0)
millis
是一个参数(对于callback()
函数),它指的是一些毫秒数。
函数出现以计算自上次调用以来的秒数,但如果有,则会出现错误:
update(millis - lastTime) /1000;
据推测,update()
应该以经过的时间(以秒为单位)调用,但应该如下所示:
update((millis - lastTime) / 1000);
另一方面,当前版本试图将update()
的返回值除以1000,这最多只是一个无操作。
如果没有看到更多代码,很难看出目的究竟是什么。例如,最后一行......
requestAnimationFrame(callback);
...似乎有点奇怪,因为函数本质上反复调用自己,大多数情况下甚至没有提供millis
参数。可能的目的是在update()
请求之外的任何时间通知requestAnimationFrame()
,以及自上次调用以来已经过了多长时间,但是这里根本没有足够的代码来告诉它是什么目的是在一个更大的计划内。