基于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 Excel操作知识点
Apr 24 Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
Jun 28 Javascript
js实现可拖动DIV的方法
Dec 17 Javascript
如何设置一定时间内只能发送一次请求
Feb 28 Javascript
12 款 JS 代码测试必备工具(翻译)
Dec 13 Javascript
如何利用JQuery实现从底部回到顶部的功能
Dec 27 Javascript
jQuery操作DOM_动力节点Java学院整理
Jul 04 jQuery
利用node.js如何创建子进程详解
Dec 09 Javascript
vue toggle做一个点击切换class(实例讲解)
Mar 13 Javascript
vue和webpack项目构建过程常用的npm命令详解
Jun 15 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
Jul 19 Javascript
Swiper.js实现移动端元素左右滑动
Sep 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
PHP详解ASCII码对照表与字符转换
2011/12/05 PHP
PHP中将网页导出为Word文档的代码
2012/05/25 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
php创建类并调用的实例方法
2019/09/25 PHP
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
javascript实现连续赋值
2015/08/10 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
2016/11/15 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
Router解决跨模块下的页面跳转示例
2018/01/11 Javascript
使用electron实现百度网盘悬浮窗口功能的示例代码
2018/10/24 Javascript
vue实现分页组件
2020/06/16 Javascript
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
详解Python:面向对象编程
2019/04/10 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
法国足球商店:Footcenter
2019/07/06 全球购物
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
serialVersionUID具有什么样的特征
2014/02/20 面试题
销售经理竞聘书
2014/03/31 职场文书
12岁生日演讲稿
2014/05/14 职场文书
小学运动会口号
2014/06/07 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS
Ajax异步刷新功能及简单案例
2021/11/20 Javascript
详解Android中的TimePickerView(时间选择器)的用法
2022/04/30 Java/Android
Python创建SQL数据库流程逐步讲解
2022/09/23 Python