canvas实现绘制吃豆鱼效果
更新时间:2017年01月12日 16:35:52 作者:君邪儿
本篇文章主要分享了canvas实现绘制吃豆鱼效果的示例代码,具有一定的参考价值,下面跟着小编一起来看下吧
话不多说,请看代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas吃豆鱼</title> </head> <style> body{ text-align:center; } canvas{ background: #efefef; } </style> <body> <h1> 角度转为弧度:<br /> 弧度=2*PI*角度/360=角度*PI/180 </h1> <!--画布的宽和高只能使用属性,不能使用样式--> <canvas id='a1' width="500" height="400"></canvas> </body> </html> <script> var ctx=a1.getContext('2d');//得到画布上的画笔并设置绘制方式 function openMouse(){ //绘制圆(3/4) ctx.beginPath();//开始一条路径 ctx.arc(250,200,100,45*Math.PI/180,315*Math.PI/180);//圆心为(250,200),半径为100 ctx.lineTo(250,200); ctx.closePath(); ctx.stroke();//勾勒轮廓/描边 ctx.fillStyle='#00ffff'; ctx.fill(); eye(); } //openMouse(); function closeMouse(){ ctx.beginPath();//开始一条路径 ctx.arc(250,200,100,0*Math.PI/180,360*Math.PI/180);//圆心为(250,200),半径为100 ctx.lineTo(250,200); ctx.closePath(); ctx.stroke();//勾勒轮廓/描边 ctx.fillStyle='#00ffff'; ctx.fill(); eye(); } //closeMouse(); //绘制公共部分眼睛 function eye(){ //绘制眼睛 ctx.beginPath(); ctx.arc(250,200-100/2,25,0,2*Math.PI);//眼睛半径为25 ctx.stroke(); ctx.fillStyle='#001900'; ctx.fill(); //绘制眼神光 ctx.beginPath(); ctx.arc(265,140,5,0,2*Math.PI);//眼神光半径为5 ctx.stroke(); ctx.fillStyle='#ffffff'; ctx.fill(); } var isOpen=true;//定义变量isOpen:是否张开 var timer=setInterval(function(){ var ctx=a1.getContext('2d'); ctx.clearRect(0,0,500,400);//清空画布大小 if(isOpen){ closeMouse(); isOpen=false; }else{ openMouse(); isOpen=true; } },500); </script>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
相关文章
关于javascript event flow 的一个bug详解
描述了firefox,safari 有一个bug和DOM 3 规范不一致:在event.currentTarget等于event.target的时候(即event flow处于target phase时),会调用添加到currentTarget上的useCapture为true的listener2013-09-09JavaScrpt中如何使用 cookie 设置查看与删除功能
这篇文章主要介绍了JavaScrpt中使用 cookie 设置查看与删除功能的方法,文中通过实例代码给大家介绍了js cookie常用的3个预设函数库,需要的朋友可以参考下2017-07-07html的DOM中document对象images集合用法实例
这篇文章主要介绍了html的DOM中document对象images集合用法,实例分析了images集合的语法与使用技巧,需要的朋友可以参考下2015-01-01
最新评论