基于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 相关文章推荐
学习ExtJS(二) Button常用方法
Oct 07 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
Feb 12 Javascript
Angularjs制作简单的路由功能demo
Apr 14 Javascript
AngularJs基本特性解析(一)
Jul 21 Javascript
浅谈jQuery中ajaxPrefilter的应用
Aug 01 Javascript
微信小程序 WebSocket详解及应用
Jan 21 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
Apr 29 Javascript
Vue集成Iframe页面的方法示例
Dec 12 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
Oct 26 Javascript
使用element-ui table expand展开行实现手风琴效果
Mar 15 Javascript
使用pkg打包ThinkJS项目的方法步骤
Dec 30 Javascript
Node.js API详解之 dns模块用法实例分析
May 15 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线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
Yii中表单用法实例详解
2016/01/05 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
event.srcElement+表格应用
2006/08/29 Javascript
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
js循环改变div颜色具体方法
2013/06/25 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
Javascript中的几种继承方式对比分析
2016/03/22 Javascript
jQuery 弹出层插件(推荐)
2016/05/24 Javascript
jQuery简单实现列表隐藏和显示效果示例
2016/09/12 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
ES6正则表达式扩展笔记
2017/07/25 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
swiper插件自定义切换箭头按钮
2017/12/28 Javascript
如何解决.vue文件url引用文件的问题
2019/01/18 Javascript
使用js实现单链解决前端队列问题的方法
2020/02/03 Javascript
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
python实现网页链接提取的方法分享
2014/02/25 Python
Python实现SMTP发送邮件详细教程
2021/03/02 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
Dillard’s百货官网:Dillards.com
2018/05/26 全球购物
Farah官方网站:男士服装及配件
2019/11/01 全球购物
医学生自我鉴定范文
2013/11/08 职场文书
《社戏》教学反思
2014/04/15 职场文书
故宫导游词
2015/01/31 职场文书
企业培训简报范文
2015/07/20 职场文书
Ruby处理CSV数据方法详解
2022/04/18 Ruby