HTML5模仿逼真地球自转
查看效果:http://hovertree.com/texiao/html5/8.htm

给我一个支点,我就可以撬动地球 阿基米德
下载 http://hovertree.com/down/h/earthhovertree.htm
代码如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>html5 canvas让地球转动起来 - 何问起</title><base target="_blank" />
<script type="text/javascript" src="http://hovertree.com/texiao/html5/8/clay.min.js"></script>
<script type="text/javascript">
function Earth() {
var stage = new Clay.Stage(800, 600);
var world = stage.getWorld();
var camera = stage.getCamera(); camera.set(0,0,0);
camera.setResolution(800, 600);
camera.setTarget(new Clay.Vector(-100,0,100)); window.onresize = function() {
stage.resizeTo(
800,600
);
}; window.onresize();
Clay.Collada.load('http://hovertree.com/texiao/html5/8/earth.xml', function (scene) {
scene.init(stage); var earth = new Clay.Texture('http://hovertree.com/texiao/html5/8/earthmap1k.jpg', stage); var clouds = new Image();
clouds.src = 'http://hovertree.com/texiao/html5/8/earthclouds1k.png'; var dark = new Image();
dark.src = 'http://hovert'+'ree.com/texiao/html5/8/darkside.png'; var waiting = setInterval(function(){
if (earth.complete && clouds.complete && dark.complete){
clearInterval(waiting);
play();
}
}, 1000); function play() {
var shape = world.getShapes()[0];
shape.setMaterial(earth); var x, y, z, t = Math.PI/4, r = 0, tick = 0.01, radius = 200;
var ttx = earth.canvas.getContext('2d');
var base = earth.image;
var wind = 0; stage.addEvent('enterframe', function(){ ttx.drawImage(base, 0,0);
var pos = (++wind)%1000;
ttx.drawImage(clouds, pos, 0);
ttx.drawImage(clouds, pos-1000, 0);
ttx.drawImage(dark, 0,0); t += tick;
x = -100 + Math.sin(t) * radius;
z = 100 + Math.cos(t) * radius;
y = Math.cos(t/3) * 50
camera.set(x, y, z);
}); stage.run();
}
});
}
window.addEventListener('load', function(){
new Earth();
}, false);
</script>
<style type="text/css">
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
position: relative;
background: black;
} .canvas3D {
background: black;
position: absolute;
left: 0;
top: 0;
}
.earthhovertree{z-index:4321;position:fixed;left:789px;color:white;height:1234px}a{color:white}
</style>
</head>
<body>
<div class="earthhovertree">
<h3>给我一个支点,我就可以撬动地球 阿基米德</h3>
<h3>给我一个HTML5浏览器,我就能转动地球 何问起</h3>
<a href="http://hovertree.com">首页</a>
<a href="http://hovertree.com/texiao/">特效</a>
<a href="http://hovertree.com/hvtart/bjae/dubjwt12.htm">原文</a>
<a href="http://hovertree.com/texiao/html5/7.htm">时钟</a>
<a href="http://hovertree.com/texiao/css/12.htm">登录</a>
<a href="http://hovertree.com/texiao/css/8.htm">打火机</a>
<a href="http://hovertree.com/texiao/html5/6.htm">玫瑰花</a>
<a href="http://hovertree.com/texiao/css/9.htm">3D文字</a> <a href="http://hovertree.com/texiao/html5/9.htm">太阳系</a>
<br />Clay - A 3D engine on canvas
<br />
<img src="http://hovertree.com/hvtimg/201512/pcmkj3ib.png" alt="阿基米德" /> </div>
<div>
<div id="canvas">
您的浏览器不支持canvas,请使用支持HTML5的浏览器查看本页。何问起 hovertree.com
</div>
</div>
</body>
</html>
更多: http://www.cnblogs.com/roucheng/p/texiao.html
HTML5模仿逼真地球自转的更多相关文章
- HTML5 + CSS3 实现地球绕太阳公转
使用的是正面视角,主要是用 HTML5 + CSS3 来实现,JS只是用来画图. test.html: <!DOCTYPE html> <html> <head> ...
- Adobe Edge Animate –地球自转动画的实现,类似flash遮罩层的效果
Adobe Edge Animate –地球自转动画的实现,类似flash遮罩层的效果 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. 目前Edge的功能尚 ...
- CSS3实现3D地球自转行星公转
截图效果:实际效果是动态的:地球自西向东自转,行星绕着地球公转,轨道也会转动 HTML页面代码: <!DOCTYPE html> <html lang="en"& ...
- js,jquery,css,html5特效
包含js,jquery,css,html5特效,源代码 本文地址:http://www.cnblogs.com/roucheng/p/texiao.html 2017新年快乐特效 jQuery最新最全 ...
- Web前端资源汇总
本文地址:http://www.cnblogs.com/jihua/p/webfront.html 网页特效库 2017新年快乐特效 CSS3+jQuery实现时钟插件 Html5入门实例" ...
- JS+HTML5的Canvas画图模拟太阳系运转
查看效果:http://hovertree.com/texiao/html5/9.htm 地球自传 http://hovertree.com/texiao/html5/8.htm 代码如下: < ...
- 8个超炫酷仿苹果应用的HTML5动画
苹果的产品一直以精美的UI著称,无论是软件应用还是硬件设备.本文主要分享了8个很不错的HTML5动画应用,这些动画正式模仿了苹果的各类应用,有焦点图.钟表.菜单等HTML5应用和jQuery插件,大家 ...
- 14款超时尚的HTML5时钟动画
时钟动画在网页应用中也非常广泛,在一些个人博客中,我们经常会看到一些相当个性化的HTML5时钟动画.今天我们向大家分享了14款形态各异的超时尚HTML5时钟动画,其中有圆盘时钟.3D时钟.个性化时钟等 ...
- 14款形态各异的超时尚HTML5时钟动画
14款超时尚的HTML5时钟动画(附源码) 时钟动画在网页应用中也非常广泛,在一些个人博客中,我们经常会看到一些相当个性化的HTML5时钟动画.今天我们向大家分享了14款形态各异的超时尚HTML5 ...
随机推荐
- ABP理论学习之Web API控制器(新增)
返回总目录 本篇目录 介绍 AbpApiController基类 本地化 审计日志 授权 工作单元 其他 介绍 ABP通过Abp.Web.ApiNuget包集成了 ASP.NET Web API控制器 ...
- GIT常用命令笔记
最近在做了一个自己的项目.两个人合作的,所以需要用到版本管理工具.本来打算学一下自己搭建svn的,后来朋友推荐我用git,免费,流行,好用,逼格.所以就学习了一下.发现这个git与已经使用惯了的svn ...
- 备忘录:hadoop技术一点积累
1.hbase的rowkey是按字典排序的,我看有的资料建议rowkey设计不应该是自增的,应该和这个字典排序相关吧 2.hbase的数据存储是按照region来的,region的设计前段时间在坐飞机 ...
- FTP文件服务搭建与同步传输
需求 搭建一台FTP服务器,用于文件的上传与下载:同时将FTP服务器目录中的文件同步到多个服务器中,实现同步更新,同时文件需要控制用户访问对应的文件夹权限. 需要用到的软件有:bestsy ...
- Javascript模拟继承(赠送.net吐槽一段)
首先吐槽一句,今年的就业形势很不乐观啊,特别是搞.net的(相对java),特特别是还没出校门没有正式工作经验的,找个实习很难,前些天接了个面试电话,上来就质疑我“你一个在校大学生怎么可能做了那么多项 ...
- Tomcat的目录结构
bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe.tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动T ...
- salesforce 零基础学习(四十三)运算取余
工作中遇到一个简单的小问题,判断两个数是否整除,如果不整除,获取相关的余数. 习惯java的我毫不犹豫的写下了代码 public Boolean isDivisibility(Integer divi ...
- jsp中头的导入两种方式区别
1.<jsp:include page="top.jsp">先将top.jsp中的java脚本和jsp指令执行完毕以后再讲top.jsp页面加入面中 2.<%@ ...
- 如何在文章/随笔中添加可运行的js代码
<script type="text/javascript"> alert("你知道我是怎么弹出的吗?"); </script> 看大神 ...
- Android studio每次启动卡在fetching Android sdk compoment information的解决方案
网上有人给出了方案:1)进入刚安装的Android Studio目录下的bin目录.找到idea.properties文件,用文本编辑器打开.2)在idea.properties文件末尾添加一行: d ...