ITKeyword,专注技术干货聚合推荐

注册 | 登录

解决javascript - Canvas - Clear rect is not working

itPublisher 分享于

2021腾讯云限时秒杀,爆款1核2G云服务器298元/3年!(领取2860元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1062

2021阿里云最低价产品入口+领取代金券(老用户3折起),
入口地址https://www.aliyun.com/minisite/goods

推荐:【HTML 5】HTML5 Canvas rect(), strokeRect() 和 fillRect() 的区别

  他们都接受相同的参数,见页面表格。唯一不同的实现方式与效果方面有差异。 其中fillRect()与strokeRect() 在调用后会立即在画布上画面效果,而rect()不会立即

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;

    }
javascript html5 canvas
|
  this question
asked Dec 3 '14 at 23:11 user2952265 561 2 6 17

 | 

1 Answers
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.

推荐:HTML5 Canvas简单动画:圆周运动

一个简单的动画:两个点在两个圆上运动。页面中有两个canvas,有一个背景设置为透明。 欢迎访问博主的网站: http://www.108js.com/link.html 效果图: <!DOCTYPE

You might also want to look at

and/or similar.


|
  this answer
edited Dec 3 '14 at 23:29 answered Dec 3 '14 at 23:17 user13500 3,183 2 17 31

 | 

推荐:HTML5 Canvas动画模板

   创建HTML5的画布动画,我们可以使用requestAnimFrame()方法使浏览器以确定最佳的FPS为我们更新动画。对于每一个动画帧,我们可以更新在画布上的元素, 清除画


相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。