在绘制抛射物时使用ctx.lineTo将无法使用setTimeout

时间:2017-05-06 18:53:27

标签: javascript canvas

function drawRocket(){
    ctx.lineTo(xx, yy);
    setTimeout(frame1, 1000);
}

function frame1(){
    ctx.lineTo(xx+50, yy+50);
    console.log("test");
}

drawRocket();

我的主要目的是通过ctx.lineTo在画布上绘制射弹以模拟火箭,唯一的问题是,每当我使用setInterval或setTimeout时线条都没有出现,console.log(“test”)确实正确显示超时1000后,但该行不起作用。

然而,当我在没有超时的情况下将它打开时,该行确实有效,只有初始化的“ctx.lineTo(xx,yy)”画了一条线,但是“ctx.lineTo(xx + 50,yy + 50) “没有。

将这两者放在一个能够立即绘制它们的函数中确实有效。

我该如何解决?是不是可以在画布上延迟画线?

0 个答案:

没有答案