基于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源码分析之Event事件分析
Jun 07 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
Sep 13 Javascript
cookie.js 加载顺序问题怎么才有效
Jul 31 Javascript
JavaScript中的原始值和复杂值
Jan 07 Javascript
jQuery实现简单隔行变色的方法
Feb 20 Javascript
JS函数定义方式的区别介绍
Mar 22 Javascript
jQuery简单自定义图片轮播插件及用法示例
Nov 21 Javascript
vue.js指令v-model实现方法
Dec 05 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
Jan 03 Javascript
vue实现自定义日期组件功能的实例代码
Nov 06 Javascript
Vue混入mixins滚动触底的方法
Nov 22 Javascript
ant design的table组件实现全选功能以及自定义分页
Nov 17 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
用session做客户验证时的注意事项
2006/10/09 PHP
preg_match_all使用心得分享
2014/01/31 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
JavaScript中的连字符详解
2013/11/28 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
详解Webpack实战之构建 Electron 应用
2017/12/25 Javascript
vue 组件中slot插口的具体用法
2018/04/03 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
JS实现“全选”和"全不选"功能代码实例
2020/02/06 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
python 字符串格式化代码
2013/03/17 Python
python静态方法实例
2015/01/14 Python
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
python中正则的使用指南
2016/12/04 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
python如何变换环境
2020/07/21 Python
Python实现石头剪刀布游戏
2021/01/20 Python
Python用SSH连接到网络设备
2021/02/18 Python
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
美国购买隐形眼镜网站:Lenses For Less
2020/07/05 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
师范生自荐信
2013/10/27 职场文书
车间工艺员岗位职责
2013/12/09 职场文书
工作评语大全
2014/04/26 职场文书
四查四看自我剖析材料
2014/09/19 职场文书
受伤赔偿协议书
2014/09/24 职场文书
Go遍历struct,map,slice的实现
2021/06/13 Golang
Javascript 解构赋值详情
2021/11/17 Javascript
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS