php画星球,html5使用canvas绘制太阳系效果

这篇文章主要介绍了html5使用canvas绘制太阳系效果,需要的朋友可以参考下:

57ac8ce6acec3027ea0f50a8811d36d6.png

代码如下:var canvas=document.getElementById("canvas");

var cxt=canvas.getContext("2d");

function DrawTrack(){

for(var i=0;i<8;i++){

cxt.beginPath();

cxt.arc(500,500,(i+1)*50,0,360,false);

cxt.closePath();

cxt.strokeStyle="#fff";

cxt.stroke();

}

}

function DrawStart(x,y,radius,cycle,sColor,eColor){

//画出星球需要哪些属性

//星球的坐标点

this.x=x;

this.y=y;

//星球的半径

this.radius=radius;

//星球的颜色(开始色,结束色)

this.sColor=sColor;

this.eColor=eColor;

//创建一个渐变色空对象

this.color=null;

this.time=0;

//公共周期

this.cycle=cycle;

this.draw=function(){

cxt.save();

cxt.translate(500,500);

//设置旋转角度

cxt.rotate(this.time*360/this.cycle*Math.PI/180);

cxt.beginPath();

cxt.arc(this.x,this.y,this.radius,0,360,false);

cxt.closePath();

this.color=cxt.createRadialGradient(this.x,this.y,0,this.x,this.y,this.radius);

this.color.addColorStop(0,this.sColor);

this.color.addColorStop(1,this.eColor);

cxt.fillStyle=this.color;

cxt.fill();

cxt.restore();

this.time+=1;

}

}

function Sun(){//太阳1

DrawStart.call(this,0,0,20,0,"#f00","#f90");

}

function Mercury(){//水星2

DrawStart.call(this,0,-50,10,87.70,"#A69697","#5c3e40");

}

function Venus(){//金星3

DrawStart.call(this,0,-100,10,224.71,"#c4bbac","#1f1315");

}

function Earth(){//地球4

DrawStart.call(this,0,-150,10,365.224,"#78b1e8","#050c12");

}

function Mars(){//火星5

DrawStart.call(this,0,-200,10,686.98,"#cec9b6","#76422d");

}

function Jupiter(){//木星6

DrawStart.call(this,0,-250,10,4332.589,"#c0a48e","#322");

}

function Saturn(){//土星7

DrawStart.call(this,0,-300,10,10759.5,"#f7f9e3","#5c4533");

}

function Uranus(){//天王星8

DrawStart.call(this,0,-350,10,30799.95,"#a7e1e5","#19243a");

}

function Neptune(){//天王星9

DrawStart.call(this,0,-400,10,60152.95,"#0661b2","#1E3b73");

}

var s=new Sun();//1

var m=new Mercury();//2

var v=new Venus();//3

var e=new Earth();//4

var ma=new Mars();//5

var j=new Jupiter();//6

var sa=new Saturn();//7

var ur=new Uranus();//8

var ne=new Neptune();//9

setInterval(function(){

cxt.clearRect(0,0,1000,1000);

DrawTrack();

s.draw();

m.draw();

v.draw();

e.draw();

ma.draw();

j.draw();

sa.draw();

ur.draw();

ne.draw();

},10);

bec8222c402d51974e78ec716c7bfca5.png

以上就是本章的全部内容,更多相关教程请访问Html5视频教程!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值