canvas实现绘制吃豆鱼效果


Posted in Javascript onJanuary 12, 2017

话不多说,请看代码:

<!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 相关文章推荐
firefox中JS读取XML文件
Dec 21 Javascript
JavaScript入门教程(3) js面向对象
Jan 31 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
jQuery页面加载初始化常用的三种方法
Jun 04 Javascript
Javascript基础教程之for循环
Jan 18 Javascript
angularjs学习笔记之双向数据绑定
Sep 26 Javascript
JS函数的几种定义方式分析
Dec 17 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
Mar 06 Javascript
在Vue项目中使用d3.js的实例代码
May 01 Javascript
vue修改对象的属性值后页面不重新渲染的实例
Aug 09 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
Nov 07 Javascript
JavaScript继承的三种方法实例
May 12 Javascript
微信小程序-小说阅读小程序实例(demo)
Jan 12 #Javascript
微信小程序 使用canvas制作K线实例详解
Jan 12 #Javascript
JS实现仿百度文库评分功能
Jan 12 #Javascript
移动端基础事件总结与应用
Jan 12 #Javascript
微信小程序 PHP后端form表单提交实例详解
Jan 12 #Javascript
简单的渐变轮播插件
Jan 12 #Javascript
那些精彩的JavaScript代码片段
Jan 12 #Javascript
You might like
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
php实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
window.open被浏览器拦截后的自定义提示效果代码
2007/11/19 Javascript
JQuery中getJSON的使用方法
2010/12/13 Javascript
jquery实现不包含当前项的选择器实例
2015/06/25 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
原生js实现日历效果
2020/03/02 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
Django中如何使用sass的方法步骤
2019/07/09 Python
python3 selenium自动化 frame表单嵌套的切换方法
2019/08/23 Python
基于python实现把图片转换成素描
2019/11/13 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
智能室内花园:Click & Grow
2021/01/29 全球购物
《狮子和兔子》教学反思
2014/03/02 职场文书
小学端午节活动方案
2014/03/13 职场文书
学生会部长竞聘书
2014/03/31 职场文书
会计学专业自荐信
2014/06/25 职场文书
网站出售协议书范文
2014/10/10 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
优秀团员个人总结
2015/02/26 职场文书
python实现A*寻路算法
2021/06/13 Python
解决xampp安装后Apache无法启动
2022/03/21 Servers