基于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 相关文章推荐
jsvascript图像处理—(计算机视觉应用)图像金字塔
Jan 15 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
Jan 16 Javascript
JavaSript中变量的作用域闭包的深入理解
May 12 Javascript
jQuery实现预加载图片的方法
Mar 17 Javascript
将鼠标焦点定位到文本框最后(代码分享)
Jan 11 Javascript
jQuery的$.extend 浅拷贝与深拷贝
Mar 08 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 jQuery
微信公众平台获取access_token的方法步骤
Mar 29 Javascript
RxJS的入门指引和初步应用
Jun 15 Javascript
Smartour 让网页导览变得更简单(推荐)
Jul 19 Javascript
vue动态禁用控件绑定disable的例子
Oct 28 Javascript
在vue中使用jsonp进行跨域请求接口操作
Oct 29 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
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
php巧获服务器端信息
2006/12/06 PHP
PHP 自定义错误处理函数的使用详解
2013/05/10 PHP
php实现下载限制速度示例分享
2014/02/13 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
thinkPHP5.0框架环境变量配置方法
2017/03/17 PHP
PHP文件打开关闭及读写操作示例解析
2020/08/06 PHP
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
轻松实现jquery手风琴效果
2016/01/14 Javascript
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
2017/05/19 jQuery
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
Python随机生成彩票号码的方法
2015/03/05 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
python url 参数修改方法
2018/12/26 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
大学生求职推荐信
2013/11/27 职场文书
建筑设计专业求职自我评价
2014/03/02 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
秋菊打官司观后感
2015/06/03 职场文书
php7中停止php-fpm服务的方法详解
2021/05/09 PHP
react中的DOM操作实现
2021/06/30 Javascript