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 相关文章推荐
js 变量类型转换常用函数与代码[比较全]
Dec 01 Javascript
javascript中最常用的继承模式 组合继承
Aug 12 Javascript
菜鸟javascript基础资料整理2
Dec 06 Javascript
Ajax执行顺序流程及回调问题分析
Dec 10 Javascript
jQuery搜索同辈元素方法
Feb 10 Javascript
js去除浏览器默认底图的方法
Jun 08 Javascript
js鼠标移动时禁止选中文字
Feb 19 Javascript
微信小程序之选项卡的实现方法
Sep 29 Javascript
详解webpack 入门与解析
Apr 09 Javascript
解决vue的 v-for 循环中图片加载路径问题
Sep 03 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
Jul 24 Javascript
iview实现动态表单和自定义验证时间段重叠
Jan 10 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自动更新新闻DIY
2006/10/09 PHP
thinkPHP中U方法加密传递参数功能示例
2018/05/29 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
浅谈laravel orm 中的一对多关系 hasMany
2019/10/21 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
Jquery 绑定时间实现代码
2011/05/03 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
2013/04/09 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
深入理解Node.js中通用基础设计模式
2017/09/19 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
详解vue开发中调用微信jssdk的问题
2019/04/16 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
2020/06/19 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
python 实现文件的递归拷贝实现代码
2012/08/02 Python
python常规方法实现数组的全排列
2015/03/17 Python
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
python如何构建mock接口服务
2021/01/28 Python
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
老总助理工作岗位职责
2014/02/06 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
小学绿色学校申报材料
2014/08/23 职场文书
教师工作失职检讨书
2014/09/18 职场文书
居委会工作总结2015
2015/05/18 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫
HTML中实现音乐或视频自动播放案例详解
2022/05/30 HTML / CSS