基于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 相关文章推荐
Prototype使用指南之array.js
Jan 10 Javascript
js 自制滚动条的小例子
Mar 16 Javascript
文件编码导致jquery失效的解决方法
Jun 26 Javascript
js获取select标签选中值的两种方式
Jan 09 Javascript
简介JavaScript中fixed()方法的使用
Jun 08 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
Aug 06 Javascript
Node.js + Redis Sorted Set实现任务队列
Sep 19 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
Feb 16 Javascript
深究AngularJS中ng-drag、ng-drop的用法
Jun 12 Javascript
vue-cli的工程模板与构建工具详解
Sep 27 Javascript
JavaScript根据json生成html表格的示例代码
Oct 24 Javascript
vue-cli和v-charts实现可视化图表过程解析
Oct 08 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
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
2019/12/12 PHP
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
Javascript实现找不同色块的游戏
2017/07/17 Javascript
实例教学如何写vue插件
2017/11/30 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
vue中使用props传值的方法
2019/05/08 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
JavaScript 闭包的使用场景
2020/09/17 Javascript
Python求算数平方根和约数的方法汇总
2016/03/09 Python
Python编程pygal绘图实例之XY线
2017/12/09 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
Pytorch maxpool的ceil_mode用法
2020/02/18 Python
Python实现动态循环输出文字功能
2020/05/07 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
HTML5在a标签内放置块级元素示例代码
2013/08/23 HTML / CSS
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
超市业务员岗位职责
2013/12/05 职场文书
会计职业生涯规划范文
2014/01/04 职场文书
选秀节目策划方案
2014/06/06 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
储备店长岗位职责
2015/04/14 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
Python基础 括号()[]{}的详解
2021/11/07 Python