using UnityEngine; using UnityEngine.UI; using DG.Tweening; /// /// DOTween 扩展方法,为不同组件提供动画功能 /// public static class DOTweenExtensions { /// /// 为 CanvasGroup 提供淡入淡出动画 /// /// 目标 CanvasGroup /// 目标透明度值 (0-1) /// 动画持续时间 /// Tweener 实例 public static Tweener DOFade(this CanvasGroup target, float endValue, float duration) { return DOTween.To(() => target.alpha, x => target.alpha = x, endValue, duration); } /// /// 为 RectTransform 提供移动动画 /// /// 目标 RectTransform /// 目标位置 /// 动画持续时间 /// Tweener 实例 public static Tweener DOAnchorPos(this RectTransform target, Vector2 endValue, float duration) { return DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, endValue, duration); } /// /// 为 Transform 提供缩放动画 /// /// 目标 Transform /// 目标缩放值 /// 动画持续时间 /// Tweener 实例 public static Tweener DOScale(this Transform target, Vector3 endValue, float duration) { return DOTween.To(() => target.localScale, x => target.localScale = x, endValue, duration); } }