基于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 相关文章推荐
JavaScript与Image加载事件(onload)、加载状态(complete)
Feb 14 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
May 31 Javascript
jQuery.extend()的实现方式详解及实例
Jun 29 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
Nov 03 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
May 11 Javascript
jquery悬浮提示框完整实例
Jan 13 Javascript
深入理解JS中的substr和substring
Apr 26 Javascript
浅析Bootstrap组件之面板组件
May 04 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
Oct 14 Javascript
JsonServer安装及启动过程图解
Feb 28 Javascript
vue 实现element-ui中的加载中状态
Nov 11 Javascript
JavaScript点击按钮生成4位随机验证码
Jan 28 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程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
PHP静态类
2006/11/25 PHP
用PHP生成html分页列表的代码
2007/03/18 PHP
php pack与unpack 摸板字符字符含义
2009/10/29 PHP
PHP设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
JS数组的赋值介绍
2014/03/10 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
javascript表单事件处理方法详解
2016/05/15 Javascript
canvas实现图片根据滑块放大缩小效果
2017/02/24 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
python字符串连接方式汇总
2014/08/21 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
2019/08/06 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
python 6行代码制作月历生成器
2020/09/18 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
怀俄明州飞钓:Platte River Fly Shop
2017/12/28 全球购物
学生个人的自我评价分享
2013/11/05 职场文书
文明生主要事迹
2014/05/25 职场文书
干部选拔任用方案
2014/05/26 职场文书
党小组鉴定意见
2015/06/02 职场文书
企业愿景口号
2015/12/25 职场文书
python实现图片九宫格分割的示例
2021/04/25 Python