- DOTween入门
- 1、在此之前
- 2、一个介绍
- 3、全局和特定设置
- 4、一个补间的生命周期
- 5、缓存和最大补间
- 6、回收补间
DOTween入门
1、在此之前
第1步:
下载DOTween
并将其解压缩到 Unity Assets
文件夹中的任何位置(不在Editor
,Plugins
或Resources
目录中)。
建立导入新的DOTween
更新后,您必须设置DOTween才能根据Unity版本导入/重新导入其他库并激活/取消激活模块。
要设置DOTween
,请从“Tools / Demigiant
”菜单中打开DOTween Utility Panel
,然后从出现的面板中选择“Setup DOTween …
”。
第2步:
在要使用它的每个类/脚本中导入DOTween
的命名空间:
using DG.Tweening;
第3步:
初始化DOTween
以设置一些全局选项:
DOTween.Init(autoKillMode, useSafeMode, logBehaviour);
如果您不这样做(或在创建第一个补间后执行此操作),DOTween
将使用默认设置自动初始化,但您仍可以随时更改它们。
2、一个介绍
DOTween
可以完全通用的方式使用,如下所示:
或者你可以利用它的快捷方式,如下所示:
无论您选择哪种方式,当您创建补间时,都会返回一个Tweener
或Sequence
(这里是对差异的解释),因此您可以根据需要存储对它的引用。您也可以将它们存储为Tween
,而无需关心区别。
您可以通过各种方式控制补间:您可以使用静态DOTween
方法(具有其他筛选选项)…
DOTween.RewindAll();
DOTween.Rewind(myId);
…直接补间引用…
myTween.Rewind();
……或更多快捷方式
transform.DORewind();
来自Tweens
只需将From设置链接到它,您几乎可以将任何补间播放从给定值播放到当前值(而不是从当前值的TO给定值,默认情况下):
transform.DOMoveX(2, 1);
transform.DOMoveX(2, 1).From();
transform.DOMoveX(2, 1).From(true);
3、全局和特定设置
您可以设置将应用于所有新创建的补间的全局设置,或者为您创建的每个补间设置特定设置。
全局设置
全局设置允许您设置默认的autoPlay
和autoKill
行为,缓动类型,全局timeScale
以及类似的东西。
具体设置
通过链接分配特定设置,它们都以“Set
” 开头(回调除外,以“On
” 开头),因此IntelliSense
将帮助您找到它们。
在这里,举一些链接的例子:
transform.DOMoveX(new Vector3(2,2,2), 2).SetEase(Ease.OutQuint).SetLoops(4).OnComplete(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);
此外,某些补间类型具有特殊的附加选项,具体取决于补间值的类型,可以通过它设置SetOptions()
。请记住这SetOptions()
是特殊的,需要在主补间创建方法后立即链接:
transform.DOMove(new Vector3(2,2,2), 2)
.SetOptions(true)
.SetEase(Ease.OutQuint)
.SetLoops(4)
.OnComplete(myFunction);
您甚至可以使用SetAs()
将所有设置从一个补间复制到另一个补间:
Tween myTween = transform.DOMove(new Vector3(2,2,2), 2)
.SetEase(Ease.OutQuint)
.SetLoops(4)
.OnComplete(myFunction);
materials.DOColor(Color.red, 2).SetAs(myTween);
(两个补间都会以OutQuint
的方式循环4次,完成后它们将调用相同的OnComplete
方法,即使它们实际上是在完全不同的对象和类型之间进行补间)
4、一个补间的生命周期
创建补间时,它将自动播放(除非您更改全局defaultAutoPlay
行为),直到它完成所有循环。
补间完成后会自动终止(除非您更改全局defaultAutoKill
行为),这意味着您将无法再使用它。
如果要重用相同的补间,只需将其autoKill
行为设置为FALSE
(通过更改所有补间的全局autoKill
设置,或将SetAutoKill(false)
链接到补间)。
如果补间播放时补间的目标变为NULL
,则可能会发生错误。您必须小心或激活安全模式。
5、缓存和最大补间
如果激活回收 DOT之间缓存您创建的所有补间,则可以重用它们而不是创建新的补间。 此外,为了避免使用超过必要的资源,它将自己设置为同时运行的最多200个Tweeners
和50个序列。如果您需要更多,DOTween会自动增加其大小,但您也可以直接设置它以避免在自动调整大小时出现打嗝:
DOTween.SetTweensCapacity(3000, 200);
如果您想在任何时刻清除DOTween
的缓存并完全重置它,您可以调用DOTween.Clear()
,它将终止所有补间并清除所有缓存。
6、回收补间
您不需要手动回收补间。相反,您可以选择自动回收所有或仅回收特定的回收。
不过,您可以随时更改Tweener
的结束并启动值。
?