2011-12-13 66 views
0

我剛開始學習一點關於畫布的知識!爲什麼閃爍的矩形(被畫布淹沒)不起作用?

我想在設置的時間間隔後畫出長方形(顯示/隱藏/顯示/隱藏/顯示...)。

如果我刪除setInterval()clear_canvas() - 矩形被淹沒。問題似乎在clear_canvas()。我從here得到了該代碼。

目前它只顯示空白頁面。在我看來,它應該繪製,清除,繪製,清除...

我加了console.log()進行調試;它被稱爲!沒有任何錯誤或Chrome 14中引發的任何問題(在Fedora 15上,如果有的話)。一切似乎都沒問題;不幸的是,它不是!

我把代碼放在JsFiddle上,所以你們可以幫助我。謝謝!

回答

3

你的問題是,它正在清理矩形繪製的時刻。

您需要使繪圖和清理之間的函數交替以便注意任何事情。

var draw = false; 
$(function() { 

    setInterval(function() { 

     console.log('called'); 
     if(draw) 
       draw_rectange(); 
     else 
       clear_canvas(); 

     draw = !draw; 

    }, 1000); 

}); 
+0

羞恥不理解這個自己。 :( – daGrevis 2011-12-14 08:21:07

0

討厭做這個傢伙,但它的操作順序很簡單。在畫之前清除畫布,而不是之後。

開關

draw_rectange(); 
clear_canvas(); 

clear_canvas(); 
draw_rectange(); 

結果:對我 http://jsfiddle.net/pYve5/4/