一、前言
上一章对DOTween进行了简单的介绍,了解了其特性以及如何引入项目,下面,我们开始对他的使用,做一个简单介绍,让你对DOTween的用法有个初步的认识。
二、写法结构
1、通用格式
例子:
//将myVector的值在1秒内,补间转换到(3,4,8)
DOTween.To(()=> myVector, x=> myVector = x, new Vector3(3,4,8), 1);
//将myFloat的值在1秒内,补间转换到52
DOTween.To(()=> myFloat, x=> myFloat = x, 52, 1);
2、快捷格式
DOTween包括一些已知的Unity对象的快捷方式,如Transform,Rigidbody和Material。 您可以从对这些对象的引用直接启动补间(这也将自动将对象本身设置为补间目标)
例子:
//将transform在1秒内移动到(2,3,4)的空间位置
transform.DOMove(new Vector3(2,3,4), 1);
//将rigidbody在1秒内移动到(2,3,4)的空间位置
rigidbody.DOMove(new Vector3(2,3,4), 1);
//将material的Color(颜色值)在1秒内渐变到绿色
material.DOColor(Color.green, 1);
无论您选择哪种方式,当创建一个补间时,都会返回一个Tweener或一个Sequence,可以根据实际需要保持这个引用,供之后使用。
三、控制方式
因为DOTween有多种写法和引用,所以控制DOTween的方式也有不少选择。
以Rewind(回放)功能为例
- 1、静态调用:
//回放所有补间
DOTween.RewindAll();
//根据ID回放相关补间
DOTween.Rewind(myId);
- 2、通过引用
//通过myTween引用来回放
myTween.Rewind();
- 3、快捷调用
//回放transform上所有的补间动画
transform.DORewind();
FORM补间
顾名思义,FORM就是“从……来”的意思,即对应的最终值的部分就是变成了“初始值”。
例如:
//常规补间To:将transform在1秒内,横向移动到2的位置
transform.DOMoveX(2, 1);
//FROM模式:将transform在1秒内,从2的位置移动到现在的位置
transform.DOMoveX(2, 1).From();
//FROM相对值模式:将transform在1秒内,从现在横向+2的位置,移动到现在的位置
transform.DOMoveX(2, 1).From(true);
链式设置
DOTween可以通过Set方法进行一系列的补间动画实现,通过On来进行回调。
例子:
//将transform在2秒内,移动到(2,2,2)位置,使用OutQuint的减速动画形式重复4次,动画结束后调用myFunction方法
transform.DOMove(new Vector3(2,2,2), 2)
.SetEase(Ease.OutQuint)
.SetLoops(4)
.OnComplete(myFunction);
//相同作用的另外一种写法
Tween myTween = transform.DOMove(new Vector3(2,2,2), 2);
myTween.SetEase(Ease.OutQuint);
myTween.SetLoops(4);
myTween.OnComplete(myFunction);
补间的生命周期
当您创建补间动画的时候,它通常是自动播放的,直到完成其所有循环内容后才会结束。但是,您可以更改全局属性defaultAutoPlay来控制。
当补间动画播放结束之后,通常是自动销毁的。但是,您可以更改全局属性defaultAutoKill来控制。
如需要重复使用相同的补间动画,只要将autoKill设置为False便可,或者可以在设置补间动画的时候SetAutoKill(false)。
如果您没用使用安全模式,当补间动画实施的目标为空(null)时,可能会发生错误。
缓存和最大补间数量
如果您可以激活循环重用DOTween缓存,那么您就不必再额外创建新的对象了。
一般建议设置最大Tweener数量为200,最大Sequence数量为50。如果您需要更多功能,DOTween会自动增加两个的数量。但是,您可以直接设置,如下所示:
// 设置最大 Tweener数量为 3000 ,最大Sequence数量为 200
DOTween.SetTweensCapacity(3000, 200);
当要重置DOTween的缓存时,只需要调用DOTween.Clear()就可以了。
四、常用API
请访问文档地址:http://dotween.demigiant.com/documentation.php
五、总结
这里介绍的仅仅是对DOTween最基础的用法,后面将结合项目实际情况给大家分享更多DOTween的实际开发案例教程,敬请期待。