0

私の問題は、ボタンをクリックすると、callfunction()メソッドが呼び出され、カウンターが5ずつ増加し、カウンターが5ずつ増加し、特定の場所に10が表示されたときに、カウンターが増加したときに以前の番号が消去されて表示されないことです。前の番号にインクリメントされた番号。前の番号を削除して、次の増分番号を表示したい。私は次のコードを持っています:

var count=0;
function callfunction()
   {
         context.fillText(count,200,200);
         count = count+5;
         //context.fillText("",200,200);
   }
4

5 に答える 5

0
count = 0;
function update(){
    canvas.clearRect(0,0,canvas.width,canvas.height);
    canvas.fillText(count,200,200);
    //Draw anything else...

}

setInterval("update()",1000/60); //60 Frames per second

button.onclick = function(){ //Change button to your button element
    count += 5;
}

これはうまくいくはずです!

于 2012-05-17T07:35:33.147 に答える
0

最初にキャンバスをクリアしてみてください:

    var count=0;
    function callfunction()
   {
         context.clearRect ( 0 , 0 ,canvas.height , canvas.width );
         context.fillText(count,200,200);
         count = count+5;
         //context.fillText("",200,200);
   }
于 2012-05-17T06:50:51.017 に答える
0

fillTextモノクロの場合は背景色で。または、以前にあったものを画像データとして保存しておき、後でテキストを消したいときに貼り付けます。

于 2012-05-17T06:41:37.137 に答える
0

私が知っている唯一の方法は、を使用してキャンバス要素全体をクリアすることcanvas.fillRectです。

例については、このjsFiddleを参照してください。

于 2012-05-17T06:54:51.123 に答える
0

clearRect() を使用して、キャンバスの一部をクリアすることができます...

テキスト フィールドのサイズがわかっている場合は、clearRect() をそのテキスト フィールドをクリアするのに十分な大きさの四角形に設定します。

var count=0;
function callfunction()
   {
    context.clearRect(200, 190, 50, 10); // clears a text field 50 x 10, above baseline
    context.fillText(count,200,200);
    count = count+5; 
   }
于 2013-06-27T06:13:31.780 に答える