html5 太阳系(1)
2016-02-10 10:38
429 查看
<<!DOCTYPE html> <html> <head> <title>太阳系</title> <meta charset="utf-8"> </head> <body> <!--注意style里面的样式写法--> <canvas id="mycanvas" width="1000" height="1000" style="background:#000;"> </canvas> <script type="text/javascript"> var canvas = document.getElementById('mycanvas'); var cxt = canvas.getContext('2d'); var time = 0; //time 应设为全局变量 function draw() { //清除画布重新画(若不清除,转动的时候会有痕迹) cxt.clearRect(0,0,1000,1000); cxt.strokeStyle = "white"; //画太阳 cxt.beginPath(); //设置垂直渐变色(即放射状渐变) var color = cxt.createRadialGradient(500,500,0,500,500,30); color.addColorStop(0.3,"#f00"); color.addColorStop(1,"#f90"); cxt.fillStyle=color; cxt.arc(500,500,30,0,Math.PI*2,true); cxt.closePath(); cxt.fill(); //画轨道 cxt.beginPath(); cxt.arc(500,500,150,0,Math.PI*2,true); cxt.closePath(); cxt.stroke(); //画地球(注意顺序问题) cxt.save(); cxt.beginPath(); cxt.translate(500,500);//重置(0,0)点坐标 cxt.rotate(time*360/365*Math.PI/180); cxt.arc(0,-150,20,0,360,false); cxt.closePath(); //重置地球的颜色 var rgb = cxt.createRadialGradient(0,-150,0,0,-150,20); rgb.addColorStop(0,"#78B1E8"); rgb.addColorStop(1,"#050C12"); cxt.fillStyle=rgb; cxt.fill(); cxt.restore(); time+=1; } //让地球转起来(注意setInterval()的两种用法),运动是相对的,这里实现的是转画布 //setInterval("draw()",100); setInterval(draw,10); </script> </body> </html>
运行结果:
相关文章推荐
- html5 form表单
- html5 时钟
- html5在线画板
- 在PC端实现HTML5-geolocation的一些细节
- HTML5 Canvas之填充样式
- HTML5 Canvas绘图之文字的渲染
- HTML5 Canvas学习笔记之详解弧线的绘制
- HTML5开发移动web应用——Sencha Touch篇(11)
- HTML5开发移动web应用——SAP UI5篇(4)
- HTML5开发移动web应用——Sencha Touch篇(10)
- 离线安装CDH5集群及相关软件
- HTML5开发移动web应用——SAP UI5篇(3)
- html5 canvas画布
- HTML5开发移动web应用——Sencha Touch篇(9)
- Html5的新特性学习
- Html5 Egret游戏开发 成语大挑战(七)游戏逻辑和数据处理
- HTML5开发移动web应用——SAP UI5篇(2)
- HTML5开发移动web应用——Sencha Touch篇(8)
- h5宣传页制作过程中遇到的问题
- HTML5(九)canvas操作文字实例之转盘