• HTML5地区自转代码


     1 <!doctype html>
     2   <meta charset="UTF-8">
     3   <html>
     4    <body>
     5      <!--创建canvas标签-->
     6      <!--canvas标签中的宽高不能设置在stlye里面否则不好定位x.y-->
     7      <canvas id="canvas" width="500" height="500" style="background:#666">
     8       您的浏览器不支持canvas标签
     9      </canvas>
    10      <script>
    11        var canvas=document.getElementById('canvas');
    12        //创建2d绘画环境
    13        var cxt=canvas.getContext('2d');
    14        //声明一个时间参数(1:1天)
    15        var time=0;
    16      function draw(){
    17        //清除画布(清除之前的内容 重新画)
    18        cxt.clearRect(0,0,500,500);
    19        //画行星轨道
    20        cxt.strokeStyle="#fff";
    21        cxt.beginPath();
    22        cxt.arc(250,250,120,0,360,false);
    23        cxt.closePath();
    24        cxt.stroke();
    25 
    26        //画地球轨道
    27        cxt.strokeStyle="#fff";
    28        cxt.beginPath();
    29        cxt.arc(250,250,100,0,360,false);
    30        cxt.closePath();
    31        cxt.stroke();
    32        //画太阳
    33        //重置0,0点
    34   
    35        cxt.strokeStyle="red";
    36        cxt.lineWidth=1;
    37        cxt.beginPath();
    38        cxt.arc(250,250,20,0,360,false);
    39        cxt.closePath();
    40        //太阳需要填充颜色
    41        //设置填充颜色(渐变色)
    42        var grd=cxt.createRadialGradient(250,250,0,250,250,20);
    43            grd.addColorStop(0,"#EEF920");
    44            grd.addColorStop(1,"RED");
    45            cxt.fillStyle=grd;
    46        cxt.fill();
    47        //需要在异次元空间保存所有画布
    48         cxt.save();
    49        //重置00点
    50        cxt.translate(250,250);
    51        //画地球
    52        //设置选择弧度
    53        //cxt.rotate(90*Math.PI/190);
    54        //地球公转一周需要365天,time=1天 一天转365/360度
    55        cxt.rotate(time*365/360*Math.PI/190);
    56        cxt.beginPath();
    57        cxt.arc(0,-100,10,0,360,false);
    58        cxt.closePath();
    59        //设置一下地球的颜色
    60        var grd=cxt.createRadialGradient(0,-100,0,0,-100,10);
    61            grd.addColorStop(0,"#78B1E8");
    62            grd.addColorStop(1,"#050C12");
    63            cxt.fillStyle=grd;
    64        cxt.fill();
    65       
    66        //画行星
    67        cxt.rotate((time*0.5)*365/360*Math.PI/190);
    68        cxt.beginPath();
    69        cxt.arc(0,-120,10,0,360,false);
    70        cxt.closePath();
    71        //设置一下行星的颜色
    72        var xrd=cxt.createRadialGradient(0,-100,0,0,-100,10);
    73            xrd.addColorStop(0,"#78B1E8");
    74            grd.addColorStop(1,"#050C12");
    75            cxt.fillStyle=xrd;
    76        cxt.fillStyle=grd;
    77        cxt.fill();
    78       cxt.restore();
    79 
    80 
    81        time +=1;
    82      }
    83      //使地球动起来
    84       setInterval(draw,100);
    85      </script>
    86 
    87    </body>
    88   </html>

    效果图:

    if you don't try,you will never know!
  • 相关阅读:
    2020蓝桥杯模拟赛(一)
    自己整理的瀑布流+滚动加载图片的例子
    .NET如何发送格式化的文本内容
    Bootstrap学习笔记(3)--表格表单图片
    BootStap学习笔记(2)
    BootStap学习笔记(1)
    Oracle性能优化
    Maven+spring+springMVC+mybatis+Junit+Log4j配置个人总结
    C#指针和寻址运算
    Linq to XML
  • 原文地址:https://www.cnblogs.com/leeten/p/3479677.html
Copyright © 2020-2023  润新知