繁体   English   中英

setTimeout仅运行一次

[英]setTimeout only runs once

我正在尝试向cleatRect函数添加延迟,我的目的是使动画精灵创建“尾随效果”。但是, setTimeout函数仅在画布动画开始时运行一次。 我是否缺少明显的东西?

var draw = function() { // draw loop 
    setTimeout(function() { // this runs once
        ctx.clearRect(0, 0, 700, 560);
    }, 2000);

    ctx.drawImage(sprites.background, bkg.x, bkg.y);
    aliens.forEach(function(element, index) {
        ctx.drawImage(sprites.enemy, element.clipX, element.clipY, element.w, element.h, element.x, element.y, element.w, element.h);
    });
};

setTimeout

设置一个计时器,该计时器在计时器到期后执行一次功能或指定的代码段。

您想要: setInterval

重复调用函数或执行代码段,每次调用之间有固定的时间延迟。 返回一个intervalID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM