Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动画中的初始延迟_Javascript_Html - Fatal编程技术网

Javascript 动画中的初始延迟

Javascript 动画中的初始延迟,javascript,html,Javascript,Html,。我每>10毫秒移动一次球。问题是,当我加载动画时,有一个初始延迟。不过,在我的代码开始时,我没有做任何重复/密集的事情。即使我将球数减少到5个球,问题仍然存在。我使用的重复方法会有缺陷吗 function moveBalls() { for(j = 0; j < ball_count; j++) { balls[j].move(); } setTimeout(moveBalls, 10); } 函数moveBalls(){ 对于(j=0;j

。我每>10毫秒移动一次球。问题是,当我加载动画时,有一个初始延迟。不过,在我的代码开始时,我没有做任何重复/密集的事情。即使我将球数减少到5个球,问题仍然存在。我使用的重复方法会有缺陷吗

function moveBalls() {
    for(j = 0; j < ball_count; j++) {
        balls[j].move();
    }

    setTimeout(moveBalls, 10);
}
函数moveBalls(){
对于(j=0;j

这是主回路。也许这就是罪魁祸首。是否有更可靠的方法以间隔运行该函数?非常感谢您的帮助。

是的,有一种更好的方式来运行该功能-这就是许多HTML5游戏所使用的:

Window.requestAnimationFrame()
这会告诉浏览器您正在制作动画,并希望尽快再次运行该函数。它将在下次绘制屏幕时运行它

这样做速度更快,总体上提高了帧速率和性能(因为
setTimeout
不是很准确)


文章(MDN)。

是的,有一种更好的方式来运行该功能-这就是许多HTML5游戏所使用的:

Window.requestAnimationFrame()
这会告诉浏览器您正在制作动画,并希望尽快再次运行该函数。它将在下次绘制屏幕时运行它

这样做速度更快,总体上提高了帧速率和性能(因为
setTimeout
不是很准确)

第条(MDN)