在x秒的时间后在画布上显示图像

问题描述:

我想在5秒后画一幅图像到画布上。一旦它被吸引,我希望它稍微向下移动屏幕,然后停下来。在x秒的时间后在画布上显示图像

有没有办法做到这一点?

这里是我试过的技术:

我有图像向下移动使用一个简单的for循环和图像的 美星物业画布。然而,图像直接显示 没有延迟5秒。

+1

是的。你试过什么了? – 2015-03-02 14:30:48

+0

你有什么尝试吗? – meo 2015-03-02 14:31:05

+0

是的,我使用图像的简单for循环和maxY属性将图像向下移动。然而,图像直接显示没有5秒的延迟。 – raymar 2015-03-02 14:34:32

假设图像寻找延迟使用onload你可以这样做是否正确装入:

var img = new Image(); 
img.onload = ready; 
img.src = "..."; 

function ready() { 
    var maxY = 200, y = 0; 
    setTimeout(animate, 5000);       // delay animation 

    function animate() { 
     ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height); 
     ctx.drawImage(img, 0, y); 
     y++; 
     if (y < maxY) requestionAnimatinFrame(animate); // continue until criteria 
    } 
} 

调整如所须。

使用setTimeout函数,第二个参数代表你以毫秒为单位

window.setTimeout(function() { //do you work here }, 5000); 
+0

...以及关于问题的“移动”部分:Html画布图不能被移动或删除 - 它们在画布上是干燥的油漆。相反,您必须清除画布并在其“已移动”位置重绘任何所需内容(或不重绘内容以“删除”该内容)。 – markE 2015-03-02 16:36:22