七彩极 发表于 2022-6-21 09:06

Unity 插件之 DOTween 的教程是什么?

前言

上文(Unity中的DoTween)分享了 DoTween 的使用方法和声明周期,对 DoTween 这个插件有了初步认识。
本文对 DoTween 的一些常用方法做归纳,作为一本小字典, 方便日后使用时查阅

注意:
API官方文档参看:DOTween - Documentation
本文只罗列出方法名和效果的文字描述,如果要看效果的gif动图,可以参看这篇文章
四五二十:DOTWeen插件使用技巧

移动(DOMove)

api

DOMove(Vector3 to, float duration, bool snapping)
将物体在duration时间内移动到目标位置to
snapping:如果设置为True,tween将平滑地将所有值对齐为整数世界坐标上移动:transform.DOMove
本地坐标上移动:transform.DOLocalMove
世界坐标的X轴上移动:transform.DOMoveX
本地坐标的X轴上移动:transform.DOLocalMoveX
例子

创建一个小球,位置设为世界坐标原点(0,0,0),挂上此脚本:
using DG.Tweening; //引入命名空间
public class DOTWeenTest : MonoBehaviour
{
void Start()
    {
      transform.DOMove(new Vector3(4, 3, 0), 3); //脚本物体3秒从当前位置移动到世界坐标(4,3,0)位置
    }
}

归位(Form)

api

transform.DOMove(from, duration).From();
from相当于做原本的相反操作,原本的DOMove是从自身所在位置往to的位置移动,加上From之后变成从to的位置往自身所在位置移动
粒子


transform.DOMove(new Vector3(2, 2, 0), 1).From();
1秒时间从世界坐标(2,2,0)处回到自身当前位置:

transform.DOMove(new Vector3(2, 2, 0), 2).From(true);
从以自身为原点的坐标系(2,2,0)处回到自身当前位置:

动画正放与倒放

api

Pause();//暂停,防止自动播放
SetAutoKill(false);//关闭动画自动销毁
PlayForward(); //该动画正放
PlayBackwards(); //该动画倒放
SetLoops(N): 循环N次例子

using DG.Tweening; //引入命名空间
public class DOTWeenTest : MonoBehaviour
{
    Tweener twe; //声明一个Tweener对象
    void Start()
    {
      twe = transform.DOMove(new Vector3(3, 4, 0), 2);//将动画保存在Tweener对象中
      twe.Pause();//暂停,防止自动播放
      twe.SetAutoKill(false);//关闭动画自动销毁
    }
    //创建两个方法事件,控制前放后倒放
    public void Forward()
    {
      twe.PlayForward(); //该动画正放
    }
    public void Back()
    {
      twe.PlayBackwards(); //该动画倒放
    }
}

设置动画曲线

在播放动画的时候,如果没有设置动画播放方式,会默认以先快后慢的方式播放
但是我们可以通过 SetEase 方法设置我们想要的播放方式api



例子

void Start()
{
    Tweener twe = transform.DOMoveX(5, 2); //3秒时间在世界坐标中,让X轴移动到5的位置
    twe.SetEase(Ease.InCubic); //由慢到快
}


2022/6/8 先午休会儿,下班接着写~

时不我待,知难而进,一起加油!:)
页: [1]
查看完整版本: Unity 插件之 DOTween 的教程是什么?