基于Two.js实现星球环绕动画效果的示例


Posted in Javascript onNovember 06, 2017

Two.js 是面向现代 Web 浏览器的一个二维绘图 API。Two.js 可以用于多个场合:SVG,Canvas 和 WebGL,旨在使平面形状和动画的创建更方便,更简洁。

Two.js 有一个内置的动画循环,可搭配其他动画库。Two.js 包含可伸缩矢量图形解释器,这意味着开发人员和设计人员都可以在商业应用中,如 Adobe Illustrator 中创建 SVG 元素,并把它引入 Two.js 使用场景中。

效果如下:

基于Two.js实现星球环绕动画效果的示例

下面是核心js code HTML就不贴了,需要引入two.js文件:

var elem = document.getElementById('draw-animation');

var two = new Two({ width: 700, height: 700 }).appendTo(elem);

//外层大运行轨迹

var track = two.makeCircle(0, 0, 200);

track.fill='transparent';

track.stroke='#3366FF';

track.linewidth=3;

//sun

var sun = two.makeCircle(0,0,80);

sun.fill='#FF8000';

sun.stroke='#FF0000';

sun.linewidth=5;

//earth

var earth = two.makeCircle(0,0,50);

earth.fill='#9ACD32';

//moon

var moon = two.makeCircle(100,0,30);

moon.fill='#1C75BC';

//inline 小的运行轨迹

var inline = two.makeCircle(0,0,100);

inline.stroke='#3366FF';

inline.fill='transparent';

inline.linewidth=3;

//group 分组 一类型为一组

var group = two.makeGroup(inline,earth,moon);

console.dir(group);

var group1 = two.makeGroup(sun,track,group);

 

group1.translation.set(two.width / 2, two.height / 2); //平移(x,y)父元素的一半

group.translation.set(200, 0); 

group.scale = 0.8; //比例

two.bind('update', function(frameCount) {//执行动画

  group1.rotation += 0.01 *2* Math.PI;

  group.rotation += 0.01 * Math.PI;

}).play();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
Oct 24 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
Jan 28 Javascript
jQuery+css+html实现页面遮罩弹出框
Mar 21 Javascript
JSON 数字排序多字段排序介绍
Sep 18 Javascript
得到form下的所有的input的js代码
Nov 07 Javascript
Express.JS使用详解
Jul 17 Javascript
javascript内置对象操作详解
Feb 04 Javascript
jquery实现网页定位导航
Aug 23 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
Dec 08 Javascript
JavaScript运行原理分析
Feb 09 Javascript
浅谈如何优雅处理JavaScript异步错误
Nov 12 Javascript
微信小程序收藏功能的实现代码
Jun 19 Javascript
two.js之实现动画效果示例
Nov 06 #Javascript
JS实现图片放大镜插件详解
Nov 06 #Javascript
js定时器实现倒计时效果
Nov 05 #Javascript
Vuejs实现购物车功能
Nov 05 #Javascript
JavaScript实现音乐自动切换和轮播
Nov 05 #Javascript
vue+node+webpack环境搭建教程
Nov 05 #Javascript
JavaScript实现三级级联特效
Nov 05 #Javascript
You might like
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
如何用php生成扭曲及旋转的验证码图片
2013/06/07 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
一些常用的Javascript函数
2006/12/22 Javascript
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
js实现漂亮的星空背景
2019/11/01 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
使用python实现扫描端口示例
2014/03/29 Python
Python内置的字符串处理函数详细整理(覆盖日常所用)
2014/08/19 Python
Python正则表达式常用函数总结
2017/06/24 Python
python中单下划线_的常见用法总结
2018/07/10 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
ipad上运行python的方法步骤
2019/10/12 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
Exception类的常用方法
2012/06/16 面试题
有针对性的求职自荐信
2013/11/14 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
2014年度工作总结报告
2014/12/15 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书