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 ...
随机推荐
- 将数据导入Excel
/** * 查询未打印订单 * @param req * @param sort * @param order * @param rows * @param page * @return */ pub ...
- 总结:在MyEclipse中部署一个wap应用时需要配置的环境变量,我的JDK是安装在C盘,mysql安装在D盘,Tomcat解压在E盘,所以路径一定要看清楚哦,!
- 值得推荐的C/C++框架和库
值得推荐的C/C++框架和库 [本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 下次造轮子前先看 ...
- centos7.0 下安装jdk1.8
centos7.0这里安装jdk1.8采用yum安装方式,非常简单. 1.查看yum库中jdk的版本 [root@localhost ~]# yum search java|grep jdk 2.选择 ...
- squid 2.7 通过域名反向代理多个服务器的配置方法
详细配置及注释如下,供大家学习参考. visible_hostname squid1.abc.com #设定squid的主机名,如无此项squid将无法启动 http_port 80 accel vh ...
- 与你相遇好幸运,德淘gen8历程
应该是十月底了 , 在浏览色魔张大妈(smzdm) http://www.smzdm.com/p/6517684/ 的时候看见了这个 , 以前大学就想买个这个 , 苦于没钱.... 然后当时打算买 , ...
- Swagger(webapi自动生成接口说明文档)
1.引入Swagger.Net.UI和Swashbuckle包 2.卸载重复包Swagger.Net 3.多余的SwaggerUI文件夹 4.项目属性->勾选生成xml文档文件 5.添加类Swa ...
- [leetcode]leetcode初体验
这几天把之前的设计模式回顾了一遍,整理了一点以前的项目.同学说,打算刷leetcode题目,也勾起了我的兴趣,索性也刷一些题目,再提高一些内功.刚开始进去,leetcode随机分配的题目,直接也就做了 ...
- Python-基础练习题2
编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 #!/usr/bin/env python # _*_ coding:utf8 _*_ import getpass Userna ...
- 搭建selenium grid简单配置
1.使用selenium提供的服务端独立jar包 :服务端.客户端都是运行于java7环境. 2.启动hub: hub配置文件如下: Java -jar selenium-server-standal ...