DOTween實現緩動變值動效


DOTween.To(getter, setter, to, float duration) 是常用的一個變值方法(一定時間將某變量從起始值到終點值進行變化),可以便捷實現 滾分、漲進度條 等功能

但大部分用的時候都是基於 Linear 勻速曲線 進行變化的(因為沒刻意設定呀...),但也可以有緩動變化的情況,例如:

此類效果可以在Unity中配合DOTween.To()實現,不僅可以使用內置Ease曲線類型,還可以自定義AnimationCurve曲線實現

例如根據自定義AnimationCurve曲線實現的緩動滾分效果如下:

代碼實現

public static class NumberEffectUtility
{
    public static void DoNumber(this Text numberText, int start, int end, float duration, Ease easeType)
    {
        DOTween.To(
                () => start, //起始值
                x =>
                {
                    numberText.text = Mathf.Floor(x).ToString(); //變化值
                },
                end, //終點值
                duration) //持續時間
            .SetEase(easeType) //緩動類型
            .SetUpdate(true); //不受Time.Scale影響
    }

    public static void DoNumber(this Text numberText, int start, int end, float duration, AnimationCurve animCurve)
    {
        DOTween.To(
                () => start, //起始值
                x =>
                {
                    numberText.text = Mathf.Floor(x).ToString(); //變化值
                },
                end, //終點值
                duration) //持續時間
            .SetEase(animCurve) //緩動類型
            .SetUpdate(true); //不受Time.Scale影響
    }
}

參考文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM