Dotween插件

  1. To() 补间

    • .To() 用于从当前属性值到指定的目标属性值创建补间动画。
    • 你提供目标属性值,DOTween会根据当前属性值和目标值之间的差异来创建动画。
    • 例如,transform.DOMove(new Vector3(100, 100, 100), 1) 将会从物体当前的位置移动到 (100, 100, 100),并在1秒内完成。
  2. .From() 补间

    • .From() 用于从指定的初始属性值开始创建补间动画。
    • 你提供初始属性值,DOTween会从这个初始值开始,然后在指定的时间内逐渐将属性值过渡到当前属性值。
    • 例如,transform.DOMove(new Vector3(100, 100, 100), 1).From(new Vector3(50, 50, 50)) 将从 (50, 50, 50) 开始,然后将物体移动到 (100, 100, 100),并在1秒内完成。

总之,.To() 是从当前属性值到目标属性值的过渡,而 .From() 是从指定的初始属性值开始的过渡。这两种方法可以用于创建不同的动画效果,具体取决于你的需求。

DOMove,Doscale都已经封装好了to()补间方法,除非另有说明,否则这些快捷方式中的每一个都具有 FROM 备用版本。只需将 在to()补间后From ()链接到 Tweener,即可使 Tween 的行为为 FROM 补间而不是 TO 补间。

3.Append补间,sequence序列中元素是按顺序播放,一个不播放完成,后续不会继续播放,

mySequence.Append(transform.DOMoveX(100, 10));
mySequence.Append(transform.DOMoveX(-100, 10));

4.Insert插入,与Append无关,只要序列开始播放,延迟时间到了就可以立即播放,不管Append的动画是否正在播放,也就是一个序列可以同时播放多个动画,当前一个Append播放完成,Insert未播放完成,下一个Append会等待Insert播放完成在进行播放。insert的插入会影响原有的序列进行改变。

mySequence.Insert(1, transform.DOMoveX(45, 1));

5.Join加入,与序列无关,不会影响序列的播放顺序,可以与序列中的动画同时进行播放,

6.Join加入和Insert插入不同在于,Insert的插入会影响原来序列的播放顺序,而join不会。二者都可以与appen进行同时的播放。与join同时播放的appen播放完成后,后续的appen可以直接播放。与insert同时播放的appen播放完成后,后续的appen不可以直接播放,需要等待insert的动画播放完毕

7.Prepend 方法, 将动画添加到 Sequence 中时,这个 动画 将成为 Sequence 的第一个动画,即它会在 Sequence 中的其他动画之前执行。

8.序列,一个序列中有多个Append动画,也可以套序列,序列的初始化一定要在方法体里面,不能够直接声明和初始化在外部,会报错。具体原因了解了在分析

9.setAs(个人理解),设置我动画的相对关系,可以使一个序列中两个动画全部播放

mySequence.Append(transform.DOMoveX(-1000, 5).SetAs(transform.DOMoveY(0100, 3)));

10.SetAutoKill(false) 方法用于设置 Tween 的自动销毁行为。当你将 Tween 的自动销毁设置为 false 时,Tween 不会在完成后自动销毁,而会保持在内存中。这可以用于在稍后重复使用 Tween,或者在需要的时候手动销毁 Twee

11.SetEase 是 DOTween 中用于设置缓动函数(Easing Function)的方法。缓动函数用于控制动画中值的插值,以实现不同的动画效果,如平滑开始、结束、加速、减速等。DOTween提供了多种内置的缓动函数

Ease类型(Built-in Easing Functions): DOTween提供了多种内置的缓动函数,你可以从这些函数中选择一个适合你的动画效果。一些常见的内置缓动函数包括:

  • Ease.Linear:线性缓动,动画以恒定速度执行。
  • Ease.InQuad:二次缓动,动画开始时加速。
  • Ease.OutQuad:二次缓动,动画结束时减速。
  • Ease.InOutQuint:五次缓动,动画平滑地开始和结束,中间有加速和减速。
mySequence.Append(transform.DOMoveX(-1000, 10).SetEase(Ease.InOutQuint));

12.SetInverted()用来倒放动画或者序列

mySequence.Append(transform.DOMoveX(-1000, 10).SetEase(Ease.InOutQuint));
mySequence.Append(transform.DOMoveX(-100, 10));
mySequence.SetInverted();

13.SetLink与物体只有被关联的Tween会受到目标GameObject的启用和禁用的影响。

transform.DOMoveX(4,1).SetLink(aGameObject,LinkBehaviour.PauseOnDisableRestartOnEnable)

14.transform.DOMoveX(4, 1).SetLoops(3, LoopType.Yoyo); 循环播放

15.SetRelative();方法是用于将Tween的目标值解释为相对值的方法。当你调用这个方法时,Tween将不再以绝对目标值为目标,而是以相对于当前值的增量作为目标值

transform.DOMoveX(4, 1).SetRelative();

这将创建一个Tween,它的目标是将物体在X轴上移动4个单位,但这个移动是相对于物体当前的X轴位置的。如果物体当前的X轴位置是2,那么Tween将使物体移动到6。

16.transform.DOMoveX(4, 1).SetUpdate(UpdateType.Late, true);

SetUpdate 是 DOTween 中用于设置 Tween 更新方式的方法。Tween更新方式定义了Tween的更新时机和频率,对于不同的需求可以选择不同的更新方式。

SetUpdate 方法接受一个枚举类型的参数,该参数可以是以下之一:

  1. UpdateType.Normal:这是默认的更新方式,Tween在每一帧更新。这通常用于创建与游戏帧同步的动画。

  2. UpdateType.Fixed:Tween在每一帧更新,但是使用固定时间间隔。这通常用于创建与FixedUpdate方法同步的动画。

  3. UpdateType.Late:Tween在每一帧的最后更新。这通常用于处理需要在所有其他脚本更新之后执行的Tween。

  4. UpdateType.Manual:手动更新方式,Tween不会自动更新,需要通过调用 DOTween.ManualUpdate 手动更新。这通常用于特殊需求,如在自定义的更新循环中处理Tween。

通过选择不同的更新方式,你可以根据需要将Tween与不同的更新时机进行同步,以满足不同的动画需求。例如,如果你需要在每一帧更新Tween,你可以使用默认的 UpdateType.Normal。如果你需要与 FixedUpdate 同步,你可以使用 UpdateType.Fixed。如果你需要在其他脚本更新之后执行Tween,你可以使用 UpdateType.Late

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值