canvas教程

canvas requestAnimationFrame 动画

字号+ 作者:H5之家 来源:H5之家 2017-08-16 13:01 我要评论( )

如果你想做逐帧动画的时候,你应该用这个方法。这就要求你的动画函数执行会先于浏览器重绘动作。通常来说,被调用的频率是每秒60次,但是一般会遵循W3C标准规定

如果你想做逐帧动画的时候,你应该用这个方法。这就要求你的动画函数执行会先于浏览器重绘动作。通常来说,被调用的频率是每秒60次,但是一般会遵循W3C标准规定的频率。如果是后台标签页面,重绘频率则会大大降低。

 

var canvas=document.getElementById("canvas"); var ctx=canvas.getContext('2d'); // get requestAnimationFrame function AFrame(callback){ window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; return window.requestAnimationFrame(callback); } var raf; var ball={ x:100, y:100, vx:5, vy:2, radius:25, color:'blue', draw:function(){ ctx.beginPath(); ctx.arc(this.x,this.y,this.radius,0,Math.PI*2,true); ctx.closePath(); ctx.fillStyle=this.color; ctx.fill(); } }; function draw(){ ctx.clearRect(0,0,canvas.width,canvas.height); ball.draw(); ball.x+=ball.vx; ball.y+=ball.vy; raf= AFrame(draw); } canvas.addEventListener('mouseover',function(e){ raf=AFrame(draw); }); canvas.addEventListener('mouseout',function(e){ window.cancelAnimationFrame(raf); }); ball.draw();

爱编程-编程爱好者经验分享平台

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • js Canvas实现圆形时钟教程

    js Canvas实现圆形时钟教程

    2017-08-15 13:03

  • Canvas Lab单车动画,HTML5动画

    Canvas Lab单车动画,HTML5动画

    2017-08-15 08:02

  • Android Bitmap和Canvas学习笔记 (3)

    Android Bitmap和Canvas学习笔记 (3)

    2017-08-14 18:01

  • H5 Canvas | 基本操作

    H5 Canvas | 基本操作

    2017-08-14 16:00

网友点评
(