2015-03-02 66 views
0

我想在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

回答

0

假設圖像尋找延遲使用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 
    } 
} 

調整如所須。

0

使用setTimeout函數,第二個參數代表你以毫秒爲單位

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

...以及關於問題的「移動」部分:Html畫布圖不能被移動或刪除 - 它們在畫布上是乾燥的油漆。相反,您必須清除畫布並在其「已移動」位置重繪任何所需內容(或不重繪內容以「刪除」該內容)。 – markE 2015-03-02 16:36:22