我有一个代码,它将运行一组20张图像,以使其看起来像一个空闲的精灵在空闲时呼吸。当它只有一个循环时,它运行完美。
但是我无法使它无限期地重复该循环。
有没有更清洁,更快捷的方式来执行我的工作?
将其包含在另一个for循环中不起作用。它以永不加载而结束。
for(let i = 0; i < images.length; i++) {
window.setTimeout(function () {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(images[i], 100, 100);
}, 100 * i);
}
我希望它会无限循环。
摆脱for
循环,使用间隔(管理“每个时间做某事”的标准方法),并管理i
回调内部的值。
let i = 0;
setInterval(() => {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(images[i], 100, 100);
i++;
if (i === images.length) i = 0;
}, 100);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句