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 相关文章推荐
JavaScript 节点操作 以及DOMDocument属性和方法
Dec 06 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
Jun 25 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
Aug 08 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
Aug 21 Javascript
简单实用的反馈表单无刷新提交带验证
Nov 15 Javascript
js判断滚动条是否已到页面最底部或顶部实例
Nov 20 Javascript
学习JavaScript设计模式之模板方法模式
Jan 20 Javascript
Three.js学习之正交投影照相机
Aug 01 Javascript
js实现放大镜特效
May 18 Javascript
简单了解Ajax表单序列化的实现方法
Jun 14 Javascript
JavaScript canvas仿代码流瀑布
Feb 10 Javascript
vue-router路由懒加载及实现的3种方式
Feb 28 Vue.js
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中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
PHP中__get()和__set()的用法实例详解
2013/06/04 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
js活用事件触发对象动作
2008/08/10 Javascript
判断JS对象是否拥有某属性的方法推荐
2016/05/12 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
不使用script导入js文件的几种方法
2016/10/27 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
2017/03/14 Javascript
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
动态加载权限管理模块中的Vue组件
2018/01/16 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
vue 实现路由跳转时更改页面title
2019/11/05 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
对Python 内建函数和保留字详解
2018/10/15 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
python使用udp实现聊天器功能
2018/12/10 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
CLR与IL分别是什么含义
2016/08/23 面试题
人事部专员岗位职责
2014/03/04 职场文书
投标保密承诺书
2014/05/19 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js