下载地址:
http://dotween.demigiant.com/download.php
变化曲线效果参考:
http://robertpenner.com/easing/easing_demo.html
配置参考:
https://www.jianshu.com/p/252c18016b3f
封装:
TweenUtil (将Tween转换为链式编程)
using UnityEngine;
using DG.Tweening;
using System;
using UnityEngine.UI;
public class TweenUtil : MonoBehaviour
{
private Tweener tempTweener = null;
private Sequence tempSeq = null;
private Transform tempTrans = null;
/// <summary>
/// 调用之前设置Transform
/// </summary>
public TweenUtil SetTransform(Transform trans)
{
Clear();
tempTrans = trans;
return this;
}
/// <summary>
/// 设置循环次数
/// </summary>
public TweenUtil SetLoops(int count, int type)
{
if (tempSeq != null)
{
tempSeq.SetLoops(count, (LoopType)type);
}
else if (tempTweener != null)
{
tempTweener.SetLoops(count, (LoopType)type);
}
return this;
}
/// <summary>
/// 设置缓冲类型
/// </summary>
public TweenUtil SetEase(int ease)
{
if (tempSeq != null)
{
tempSeq.SetEase((Ease)ease);
}
else if (tempTweener != null)
{
tempTweener.SetEase((Ease)ease);
}
return this;
}
/// <summary>
/// 设置相对变化
/// </summary>
public TweenUtil SetRelative()
{
if (tempSeq != null)
{
tempSeq.SetRelative();
}
else if (tempTweener != null)
{
tempTweener.SetRelative();
}
return this;
}
/// <summary>
/// 设置自动销毁
/// </summary>
public TweenUtil SetAutoKill(bool b)
{
if (tempSeq != null)
{
tempSeq.SetAutoKill(b);
}
else if (tempTweener != null)
{
tempTweener.SetAutoKill(b);
}
return this;
}
/// <summary>
/// 设置延迟
/// <summary>
public TweenUtil SetDelay(float time)
{
if (tempSeq != null)
{
tempSeq.SetDelay(time);
}
else if (tempTweener != null)
{
tempTweener.SetDelay(time);
}