2016-04-28 7 views
0

私はドローアプリを作成しており、クリアボタンと機能を使用しています。しかし、キャンバスをクリックして何かを再描画すると、古い図面がポップアップします。私は何らかの復元をする必要があることを知っていますが、私はそれについてどうやって行くのか分かりません。ご協力いただきありがとうございます。 HTMLHTML5キャンバス「クリアキャンバス」ボタンを作成する適切な方法

Javascriptを

function init(){ 
    canvas = document.getElementById('board'); 
    context = canvas.getContext('2d'); 

    canvas2 = document.getElementById('board2'); 
    context2 = canvas2.getContext('2d'); 

} 

function clearall() 
{ 

    context.clearRect(0,0,canvas.width,canvas.height); 

} 
+0

新しい描画ごとに 'beginPath'を追加する必要があるようです。それがなければ、以前の図面のすべても新しい図面で再描画されます。 (再描画==もしあれば、最後のbeginPathに戻ります)。 – markE

答えて

0

はちょうどそれをクリアするためにキャンバスに白い四角形を描画します。

context.beginPath(); 
context.rect(0,0,canvas.width,canvas.height); 
context.fillStyle = "#FFF"; 
context.fill(); 
+0

hmmmmこれはうまくいかず、キャンバスをクリアするだけですが、それは前と同じように再びポップアップします –

+0

「もう一度ポップアップする」と言ったら、何を指していますか?メインループを持つゲームを作っているなら、描画関数は繰り返し実行され、白い四角の上に描画されます。実際のコードを投稿できますか? –

+0

私が消した図面は、キャンバスをもう一度クリックして別の図面を作成すると、キャンバスに戻ってきます。私のファイルは膨大なので、全体を投稿することはできませんが、ここにはJavaScriptのスニペットがあります。 関数init(){ canvas = document.getElementById( 'board'); context = canvas.getContext( '2d');} function clearall(){ context.rect(0,0、canvas.width、canvas.height); context.fillStyle = "#FFF"; context.fill();} –

関連する問題