two.js之实现动画效果示例


Posted in Javascript onNovember 06, 2017

一、什么是two.js?

Two.js 是面向现代 Web 浏览器的一个二维绘图 API。Two.js 可以用于多个场合:SVG,Canvas 和 WebGL,旨在使平面形状和动画的创建更方便,更简洁。

Two.js 有一个内置的动画循环,可搭配其他动画库。Two.js 包含可伸缩矢量图形解释器,这意味着开发人员和设计人员都可以在商业应用中,如 Adobe Illustrator 中创建 SVG 元素,并把它引入 Two.js 使用场景中。

二、导入two.js

two.js之实现动画效果示例

三、用two.js实现动画

1)一个简单的小dome

<script type="text/javascript">
 //在整个body中绘制绘图区
 var two = new Two({
  fullscreen:true,//设置是否全屏
  autostart:true,//是否自动启动动画 
 }).appendTo(document.body);
   
 var star = two.makeStar(two.width/2,two.height/2,50,125);
 //two.update();//映射到页面上
 two.bind('update',function(frameCount){
  star.rotation +=0.03;
 })
   
</script>

two.js之实现动画效果示例

2)实现一个比较复杂一些的

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
  <style type="text/css">
   svg{
    background-color: black;
   }
  </style>
  <script src="js/two.JS.js" type="text/javascript" charset="utf-8"></script>
 </head>
 <body>
  <!--创建div绘图区-->
  <div id="draw-shapes">
   
  </div>
  <script type="text/javascript">
   var elem = document.getElementById("draw-shapes");
   var params = {width:400,height:400};
   var two = new Two(params).appendTo(elem);
   var circle = two.makeCircle(-72,0,50);//前两个是x轴y轴,然后是圆的半径
   var star = two.makeStar(75,0,75,35,5);
//   var ss = two.makeCurve(250,30,46,50,465,48,79,36,94);
   
   circle.fill = "#ccd0d5";//填充颜色
   circle.lineWidth = 15;//边线的宽度
   circle.stroke = "#FED519";//边线的颜色
   
   star.fill = "yellow";
   star.opacity = 0.5;//设置透明度
   circle.noStroke();//去掉边线
   
   var group = two.makeGroup(circle,star);//将两个图形合并到一个组中
//   group.fill = "#ffffff";
   
   group.translation.set(two.width/2,two.height/2);
   group.rotation = Math.PI;
   group.scale = 0.1;
   
   two.update();
   
   two.bind('update',function(frameCount){
    if(group.scale>0.99999){
     //将缩放与旋转的度数变成0
     group.scale = group.rotation = 0;
    }
    var t = (1- group.scale) * 0.3;
    group.scale +=t;
    group.rotation +=t *3*Math.PI;
   }).play();
  </script>
 </body>
</html>

two.js之实现动画效果示例

其中的背景是这个函数makeCurve会改变为什么样的背景取决于所给的数是多大以及多少个

 四、two.js官网链接

https://two.js.org/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 中国省市两级联动选择附图
May 14 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
Jan 08 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
Aug 05 Javascript
详解JS中的立即执行函数
Feb 24 Javascript
jquery拖动改变div大小
Jul 04 jQuery
详解win7 cmd执行vue不是内部命令的解决方法
Jul 27 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
Jul 28 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
Dec 07 Javascript
详解如何使用node.js的开发框架express创建一个web应用
Dec 20 Javascript
es6中比较有用的7个技巧小结
Jul 12 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
Mar 12 Javascript
Vue的props父传子的示例代码
May 20 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
angular中不同的组件间传值与通信的方法
Nov 04 #Javascript
You might like
关于PHP实现异步操作的研究
2013/02/03 PHP
php设计模式之命令模式使用示例
2014/03/02 PHP
php计算程序运行时间的简单例子分享
2014/05/10 PHP
Prototype Template对象 学习
2009/07/19 Javascript
JavaScript 三种创建对象的方法
2009/10/16 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
微信小程序 http请求详细介绍
2016/10/09 Javascript
webpack+vue.js快速入门教程
2016/10/12 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
清除js缓存的多种方法总结
2016/12/09 Javascript
javascript事件的绑定基础实例讲解(34)
2017/02/14 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
vue实现数据控制视图的原理解析
2020/01/07 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
Python Requests安装与简单运用
2016/04/07 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
python和php哪个容易学
2020/06/19 Python
美国农场鲜花速递:The Bouqs
2018/07/13 全球购物
某个公司的Java笔面试题
2016/03/11 面试题
学生社团文化节开幕式主持词
2014/03/28 职场文书
减负增效提质方案
2014/05/23 职场文书
建设单位项目负责人任命书
2014/06/06 职场文书
公司委托书格式范文
2014/10/09 职场文书
北京故宫的导游词
2015/01/31 职场文书
庆七一活动简报
2015/07/20 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android
解决MySQL报“too many connections“错误
2022/04/19 MySQL