2011-12-13 5 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

+1

あなたは最初のものではありません...私はそれが問題であることをどのように知っていたと思いますか?:P –

0

この操作を行うことは嫌ですが、操作の順序は簡単です。あなたが描く前にキャンバスをクリアしてください。

スイッチ

draw_rectange(); 
clear_canvas(); 

clear_canvas(); 
draw_rectange(); 

の結果: http://jsfiddle.net/pYve5/4/

関連する問題