HTML5绘制太阳系

效果图:

 

var sunarea = document.getElementByIdx_x('sunarea');
var cxt = sunarea.getContext('2d');
function draw(){
for(var i = 0;i<8;i++) {
cxt.strokeStyle='white';
cxt.beginPath();
cxt.arc(500,500,(i+1) * 60, 0, Math.PI * 2, false);
cxt.closePath();
cxt.stroke();
    }
}
 function star (x,y,rad,cycle,scolor,ecolor) { 
this.x=x;
this.y=y;
this.rad=rad;
this.cycle=cycle;
this.scolor=scolor;
this.ecolor=ecolor;
this.color=null;
this.time=0;
    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.rad,0,Math.PI*2,false);
cxt.closePath();
            var color=cxt.createRadialGradient(this.x,this.y,0,this.x,this.y,this.rad);
color.addColorStop(0,scolor);
color.addColorStop(1,ecolor);
cxt.fillStyle = color;
cxt.fill();
   cxt.restore();
this.time++;
       };
}
function Sun(){
star.call(this,0,0,20,0,'#F00','#F90');
}
function Earth(){
star.call(this,0,60*3,10,365,'#78B1E8','#050C12');
}
var sun=new Sun();
var earth=new Earth();
function bulid (){
cxt.clearRect(0,0,1000,1000);
draw();
sun.draw();
earth.draw();
}
setInterval(bulid,10);
代码部分只给出了太阳和地球,按照下面的图片中数据更改相应的颜色,半径等,可得出完整的太阳系
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒冰的暖

谢谢您的赞许投喂~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值