DoTween 教程
官方网站:http://dotween.demigiant.com/
下载地址:http://dotween.demigiant.com/download.php
pro版下载地址:http://pan.baidu.com/s/1dEzTQkL
快速开始:http://dotween.demigiant.com/getstarted.php
官方文档:http://dotween.demigiant.com/documentation.php
一、准备工作
1、下载 DOTween,解压至Unity的Asset文件夹,如果你使用的Unity版本低于Unity4.3,请删除所有的 DOTween43文件
2、在你们创建一个新的脚本时,需要在顶部导入命令空间:
using DG.Tweening;
3、初始化全局选项(可选)
DOTween.Init(autoKillMode, useSafeMode, logBehaviour);
但你仍然可以改变它们
二、介绍
DOTween可以使用 完全通用的方法,像这样
你也可以使用 便捷的方法,像这样
无论选择那种方式,当你创建 tween 都会返回一个Tweener 或一个序列(两者的差异),如果你需要保存,你可以保存两者为Tween而无须关心它们的区别。
你可以以不同的方式 控制多个tween,你可以使用static的DOTween方法(有过滤的附加选项)……
From Tweens
transform.DoMoveX(5,1).Form(true);// 默认是从当前位置运动到目标位置,加上form()方法后,表示从目标位置运动到当前位置,加上true表示移动的是相对位置
比如这句表示X从6移动到1,移动了5个位置。
// Rewind all tweens 撤消所有的tween
DOTween.Rewind();
// Rewind all tweens with a given id 根据指定id撤消tween
DOTween.Rewind(myId);
// Rewind a referenced tween 撤消引用的tween
myTween.Rewind();
// Rewind all tweens connected to a specific transform 撤消所有的tween到特定的transform
transform.DORewind();
三、Global或特定设置
你可以设置 global settings 将应用于所有新创建的补间动画,或通过 具体设置 为每一个单独的补间动画。
全局设置
全局设置 允许你设置默认 autoPlay和autoKill 行为,ease type,global timeScale,以及类似的东西。
具体设置
具体设置 是通过链分配,他们都开始以“Set”开始(除了Callbacks,是以"On"开始”),所以智能感知帮助你找到他们,这儿有些例子
// Create a transform tween and set its ease, loops and OnComplete callback(创建一个transform的tween,设置type为ease,循环,OnComplete回调)
transform.DOMove(new Vector3(2,2,2), 2).SetEase(Ease.OutQuint).SetLoops(4).OnComplete(myFunction); // Same as above but using line breaks to make it more readable(同上,但使用换行符,使其更具可读性)
transform.DOMove(new Vector3(2,2,2), 2)
.SetEase(Ease.OutQuint) //动画曲线
.SetLoops(4) //动画循环次数
.OnComplete(myFunction); //动画结束事件 // Same as above but storing the tween and applying settings without chaining(同上,但没有使用链的方式)
Tween myTween = transform.DOMove(new Vector3(2,2,2), 2);
myTween.SetEase(Ease.OutQuint);
myTween.SetLoops(4);
myTween.OnComplete(myFunction);
此外一类 tween 类型都有 特殊的附加功能,取决于值补间的类型,它可以通过设置 SetOptions() 只要记住, SetOptions()是特殊的,当主要创建补间动画的方法后它需要立即链接:
// Same as the previous examples, but force the transform to
// snap on integer values (very useful for pixel perfect stuff)
//和上面的例子类似,但需要强制transform临时调整数值(对于像素完美是非常有用的)
transform.DOMove(new Vector3(2,2,2), 2)
.SetOptions(true)
.SetEase(Ease.OutQuint)
.SetLoops(4)
.OnComplete(myFunction);
你甚至可以Copy 一个tween的设置到另一个tween ,使用SetAs() :
// Create a tween with some settings and store it as a Tween
Tween myTween = transform.DOMove(new Vector3(2,2,2), 2)
.SetEase(Ease.OutQuint)
.SetLoops(4)
.OnComplete(myFunction); // Create another tween and apply the same settings as the previous one(创建另一个tween,并应用上一个tween的设置)
material.DOColor(Color.red, 2).SetAs(myTween);
( 这两个tween都会循环4次,easeType为OutQuint,当tween完成时都会调用myFunction)
四、Tween的Life(生命周期)
当你创建tween时它会自动播放(除非你设置了全局的 defaultAutoPlay 行为)直到完成循环
当tween完成后它会自动终止(除非你设置了全局的 defaultAutoKill 行为),这意味着你不能再使用它。
如果你们要重复使用同一个tween,仅仅需要设置它的 autoKill 为 False(可以通过 global autoKill 设置所有的tweens 或为你自己的tween 设置 SetAutoKill(false) ).
如果你的tween的target为null,在tween播放时会报异常,你需要注意或激活 安全模式
五、Cache和tween最大值
如果你有 缓存池 缓存所有的你创建的tween,它们就可以重复使用,不需要创建新的。
此外也可以避免使用更多的资源,它会限制最大200个Tweeners并且50FPS在同一时间,如果你需要更多,DOTween会自动增加它的大小,当然你可以直接设置 来避免自动调整可能会发生卡顿的情况
// Set max Tweeners to 3000 and max Sequences to 200(设置最大Tweeners为300,最大FPS为200)
DOTween.SetTweensCapacity(3000, 200);
在任何时候你想 在tween完成时清除DOTween的cache,你可以调用 DOTween.Clear(),它会kill所有的tweens并释放所有的缓存.
六、Recycling tween
你不需要手动回收 tween,相反你可以选择自动 回收特定的
不过,在任何时间你都可以 改变 Tweener的 start和end values
七、屏幕震动效果
transform.DoShakeposition(1,new Vector3(3,3,0));
八、文字动画
text.DoText("文字会一个一个的显示出来",2);
text.DoColor(Color.Red,2);
text.DoFade(1,3);//3秒的时间透明度由0变为1
DoTween 教程的更多相关文章
- DOTween教程
参考自DOTween官方文档: DOTween起始上手起来很快,当然前提也是用心看一下哈. > 可以在Unity AssetStore下载得到. 使用方法: 准备: 在导入DOTween后,你需 ...
- Tween + 缓动函数
Unity-Tween http://www.cnblogs.com/MrZivChu/p/UnityTween.html iTween: iTween大解构(一)之抛物线移动 http://blog ...
- DoTween用法教程
DoTween用法攻略 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创 ...
- DoTween(HOTween V2) 教程
DoTween资料 官方网站:http://dotween.demigiant.com/ 下载地址:http://dotween.demigiant.com/download.php 快速开始:htt ...
- 时光煮雨 Unity3D让物体动起来③—UGUI DoTween&Unity Native2D实现
本文首发蛮牛,次发博客园.接系列 第一篇,第二篇,本文为第三篇,再次感谢“武装三藏”在前两篇无私且精彩的问题解答 写在最前,时光煮雨,为了怀念 以下引用曾今读过的一些教程文章 其实这3种动画都有它特定 ...
- xLua中导出Dotween
前言 在xlua的lua脚本中使用dotween,官方的文档中有提到可以导出,但未介绍详细的步骤,相信比较多的朋友有需要,刚好项目中也在使用xlua和dotween,所以做个笔记. 基础知识: xLu ...
- DoTween可视化编程用法详解
DoTween可视化编辑 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创新 ...
- 狼人杀面杀APP(FGUI教程)
本教程为FairyGUI进阶教程,这是一套完整的面杀桌游APP.游戏不仅有发放随机身份的功能,还涉及10个页面的切换与各页面不同状态(最多达9种状态)的切换,众多复杂UI的交互,多语言切换,3D粒子在 ...
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
随机推荐
- Windows 网络编程
网络编程 API ,失败返回 -,错误代码 WSASYSNOTREADY 表示基础网络子系统没有准备好网络通行,WSAVERNOTSUPPORTED 表示 Socket 版本不支持,WSAEINPRO ...
- go:关于变量地址的疑惑
定义一些变量,并输出其地址 一.一般变量 var a, b int32 var c, d int64 输出其地址 结果: a 0xc082006310 b 0xc082006320 c 0xc0820 ...
- 关于java中多态的理解
java三大特性:封装,继承,多态. 多态是java的非常重要的一个特性: 那么问题来了:什么是多态呢? 定义:指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行 ...
- SpringBoot前世今生
序 本文主要讲述spring boot的由来,即其它诞生的背景,初衷,现状,及对未来的展望. 背景 在很早的年代,J2EE还是java企业级应用的王者规范,EJB风行其道.后来有一个叫Rod John ...
- hibernate映射文件
Hibernate的持久化类和关系数据库之间的映射通常是用一个XML文档来定义的.该文档通过一系列XML元素的配置,来将持久化类与数据库表之间建立起一一映射.这意味着映射文档是按照持久化类的定义来创建 ...
- python爬虫成长之路(二):抓取代理IP并多线程验证
上回说到,突破反爬虫限制的方法之一就是多用几个代理IP,但前提是我们得拥有有效的代理IP,下面我们来介绍抓取代理IP并多线程快速验证其有效性的过程. 一.抓取代理IP 提供免费代理IP的网站还挺多的, ...
- JS中,!=, !== 和 !的区别和使用场景
var num = 1; var str = '1'; var test = 1; test == num //true 相同类型 相同值 test === num //true 相同类型 ...
- 在nginx中配置ip直接访问的默认站点
一台机子部署多个网站,我们直接访问ip (外网内网都一样)提示无法访问或404. 因为有多个网站,我们想指定某个网站为IP访问默认的网站,如何操作呢? 解:在Listen ip:port; 这个指令行 ...
- Jenkins+Maven+SVN快速搭建持续集成环境
http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.htmlhttp://blog.csdn.net/pein_zero/art ...
- PostgreSQL中标准的SQL boolean数据类型