1

I want to move a rect from the top to the bottom of the canvas. But somehow the canvas does not get cleared. What is wrong?

js fiddle

JS

(function animloop(){
  requestAnimFrame(animloop);
  redraw();
})();


    function redraw() {

        ctx.clearRect(0,0,canvasWidth, canvasHeight);
        ctx.rect(20,y,50,50);
        ctx.fillStyle="red";
        ctx.fill(); 
        y += 2;

    }
user2952265
  • 1,590
  • 7
  • 21
  • 32

1 Answers1

1

It is cleared, but you do not start new path, thus the old keeps being re-painted.

Add:

ctx.beginPath();

in the redraw() function.

You might also want to look at

and/or similar.

Community
  • 1
  • 1
user13500
  • 3,817
  • 2
  • 26
  • 33