html5中用canvas畫八大行星圍繞太陽轉

來源:互聯網
上載者:User

標籤:c   style   class   blog   code   java   

 

   

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>九大行星</title></head><body>   <canvas height="1000" width="1000" id="canvas" style="background: black;">您的瀏覽器版本過低,不支援canvas標籤</canvas>   <script type="text/javascript">           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,50*(i+1),0,360,false);            cxt.closePath();            cxt.strokeStyle="#fff";            cxt.stroke();              }         }         drawTrack();       function Star(x,y,r,cycle,bColor,eColor){           this.x=x;           this.y=y;           this.r=r;           this.cycle=cycle;           this.time=0;           this.bColor=bColor;           this.eColor=eColor;           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.r,0,360,false);                   cxt.closePath();                   var color=cxt.createRadialGradient(this.x,this.y,0,this.x,this.y,this.r);                    color.addColorStop(0,this.bColor);                   color.addColorStop(1,this.eColor);                   cxt.fillStyle=color;                   cxt.fill();                   cxt.restore();                   this.time+=1;           }      }     function Sun(){         Star.call(this,0,0,20,0,"#FFFF00","#FF9900");     }      function Mercury(){         Star.call(this,0,-50,10,87.70,"#A69697","#5C3E40");     }     function Venus(){         Star.call(this,0,-100,10,224.701,"#C4BBAC","#1F1315");     }     function Earth(){         Star.call(this,0,-150,10,365.2422,"#78B1E8","#050C12");     }     function Mars(){         Star.call(this,0,-200,10,686.98,"#CEC9B6","#76422D");     }     function Jupiter(){         Star.call(this,0,-250,10,4332.589,"#C0A48E","#322222");     }     function Saturn(){         Star.call(this,0,-300,10,10759.5,"#F7F9E3","#5C4533");     }     function Uranus(){         Star.call(this,0,-350,10,30799.095,"#A7E1E5","#19243A");     }     function Neptune(){         Star.call(this,0,-400,10,60152,"#0661B2","#1E3B73");     }     var sun=new Sun();     var mercury=new Mercury();     var venus=new Venus();     var earth=new Earth();     var mars=new Mars();     var jupiter=new Jupiter();     var saturn=new Saturn();     var uranus=new Uranus();     var neptune=new Neptune();     function move(){         cxt.clearRect(0,0,1000,1000);         drawTrack();         sun.draw();         mercury.draw();         venus.draw();         earth.draw();         mars.draw();         jupiter.draw();         saturn.draw();         uranus.draw();         neptune.draw();     }     setInterval(move,10);   </script></body></html>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.