js canvas扫描仪动画
2017-01-09 03:39
381 查看
<html> <body> <div style="text-align: center;"> <canvas id="earth" style="border: 1px #ccc solid;"></canvas> <input type="button" value="start" onClick="doStart();"/> <input type="button" value="stop" onClick="doStop();"/> </div> <script type="text/javascript"> var valTool = new Object(); valTool.flag = false; valTool.scale = 0.5; initTurnEarth(valTool); function doStart() { valTool.flag = true; initTurnEarth(valTool); } function doStop() { valTool.flag = false; } function initTurnEarth(valTool) { var mycv = document.getElementById("earth"); var dr = mycv.getContext("2d"); var earth = new Object(); earth.img = new Image(); earth.img.src = "img/earth.png"; var search = new Object(); search.img = new Image(); search.img.src = "img/earth_search.png"; mycv.width = earth.img.width * valTool.scale; mycv.height = earth.img.height * valTool.scale; earth.x = 0; earth.y = 0; search.x = 117; search.y = 6; valTool.degree = 0; valTool.speed = 5; doTurnEarth(valTool,dr,earth,search); } function doTurnEarth(valTool,dr,earth,search) { valTool.degree = valTool.degree + valTool.speed; if ( valTool.degree > 360) { valTool.degree = 0}; //清空 dr.clearRect(0,0,earth.img.width,earth.img.height); dr.save(); //缩放画布 dr.scale(0.5,0.5); dr.drawImage(earth.img,earth.x,earth.y); //画点 if(valTool.degree > 0 && valTool.degree < 30 ) { dr.beginPath(); dr.arc(earth.img.width/2+search.img.width/2, search.img.height/2, 3, 0, Math.PI*2); dr.closePath(); dr.fillStyle = "white"; dr.fill(); } //偏移-旋转-回到中心 dr.translate((search.x),(search.y + (search.img.height))); dr.rotate( valTool.degree * 2 * Math.PI / 360); dr.translate(-(search.x),-(search.y + (search.img.height))); dr.drawImage(search.img,search.x,search.y); //回到上一个状态 dr.restore(); if(valTool.flag) { setTimeout(function(){ doTurnEarth(valTool,dr,earth,search);},60); } } </script> </body> </html>
相关文章推荐
- HTML5的一些知识:Canvas KineticJS旋转动画教程
- JS Canvas动画之太极图
- [js高手之路]html5 canvas动画教程 - 边界判断与反弹
- 【JS】使用canvas绘制动画-旋转风车加速减速启动停止
- 【动画】简易制作贝塞尔曲线动画(JS+css3+canvas)
- 一个JS动画框架-基于HTML5::Canvas
- [js高手之路]html5 canvas动画教程 - 边界判断与小球粒子模拟喷泉,散弹效果
- [js高手之路]html5 canvas动画教程 - 重力、摩擦力、加速、抛物线运动
- 前端知乎:js+div还原80后怀旧经典赛车游戏 谁说html5动画非得用canvas?
- 基于js面向对象和canvas动画实现贪吃蛇游戏
- JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
- [js高手之路] html5 canvas动画教程 - 实时获取鼠标的当前坐标
- JS+canvas绘制的动态机械表动画效果
- html5 canvas结合js实现的非常酷的ascii animation动画特效
- 图像像素处理_明度/亮度/平均值/灰褐色/滤镜/灰色_canvas_js动画
- 基于canvas与原生JS的H5动画引擎
- [js高手之路]html5 canvas动画教程 - 自己动手做一个类似windows的画图软件
- [js高手之路] html5 canvas动画教程 - 匀速运动
- [js高手之路]html5 canvas动画教程 - 跟着鼠标移动消失的一堆炫彩小球
- js canvas实现擦除动画