| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1944 人关注过本帖
标题:HTML5 之 太阳-地球-月亮
取消只看楼主 加入收藏
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
结帖率:98.25%
收藏
 问题点数:0 回复次数:2 
HTML5 之 太阳-地球-月亮
<!DOCTYPE html>

<html lang="en" xmlns="http://www.
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <canvas width="800" height="600" style="background-color:#000;" id="em"></canvas>
    <script>
        var time = 0;
        function earth() {
            var gc = document.getElementById('em').getContext('2d'), grad = null;

            gc.clearRect(0, 0, 800, 600);
            //绘制地球轨道
            gc.beginPath();
            gc.arc(400, 300, 220, 0, 360);
            gc.closePath();
            gc.strokeStyle = 'rgb(100,100,100)';
            gc.stroke();
            //绘制太阳
            gc.beginPath();
            gc.arc(400, 300, 40, 0, 360);
            gc.closePath();
            grad = gc.createRadialGradient(400, 300, 0, 400, 300, 35);
            grad.addColorStop(0, 'rgb(255,0,0)');
            grad.addColorStop(1, 'rgb(255,153,0)');
            gc.fillStyle = grad;
            gc.fill();
            //绘制地球
            gc.save();
            gc.translate(400, 300);
            gc.rotate(time * 360 / 365.25 * Math.PI / 180);
            gc.beginPath();
            gc.arc(0, -220, 15, 0, 360);
            gc.closePath();
            grad = gc.createRadialGradient(0, -220, 0, 0, -220, 15);
            grad.addColorStop(0, 'rgb(120,193,248)');
            grad.addColorStop(1, 'rgb(5,13,18)');
            gc.fillStyle = grad;
            gc.fill();
            //月球轨道
            gc.beginPath();
            gc.arc(0, -220, 50, 0, 360);
            gc.closePath();
            gc.stroke();
            //绘制月球
            gc.save();
            gc.translate(0, -220);
            gc.rotate(time * 360 / 27.3 * Math.PI / 180);
            gc.beginPath();
            gc.arc(0, -50, 5, 0, 360);
            gc.closePath();
            grad = gc.createRadialGradient(0, -50, 0, 0, -50, 5);
            grad.addColorStop(0, 'rgb(255,255,255)');
            grad.addColorStop(1, 'rgb(150,150,150)');
            gc.fillStyle = grad;
            gc.fill();
            gc.restore();

            gc.restore();

            time += 0.25;
        }

        earth();
        setInterval(earth, 25);
    </script>
</body>
</html>
收到的鲜花
  • 林月儿2015-05-29 07:04 送鲜花  49朵   附言:赞,可惜每次只能给这么多分
搜索更多相关主题的帖子: function HTML5 style earth title 
2015-05-28 22:44
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
以下是引用wp231957在2015-5-29 10:07:42的发言:
有那个编译器吗  咋知道哪句语法是对的 哪句语法是错的

把代码保存到html文件中,直接在浏览器里跑就能看到效果了,不用你担心错误,代码不通过,我也不会发上来
IE6/7/8不支持这个代码

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-05-29 12:43
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
编译器?浏览器就是编译器

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-05-29 16:59
快速回复:HTML5 之 太阳-地球-月亮
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035114 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved