UI弹出动画

简介的UI弹出动画

使用方式很简单 挂载到需要弹出的目标 即可

csharp 复制代码
using UnityEngine;
using DG.Tweening;
using Unity.VisualScripting;


    /// <summary>
    /// 简洁的UI动画脚本
    /// 直接挂载到UI组件上,调用Play()播放缩放弹出动画
    /// </summary>
    public class UIAnimation : MonoBehaviour
    {
        [Header("动画设置")]
        [SerializeField] private float duration = 0.5f;
        [SerializeField] private Ease easeType = Ease.OutBack;

        private RectTransform rectTransform;
        private Vector3 originalScale;

        private void Start()
        {


        }
        private void OnEnable()
        {
            rectTransform = GetComponent<RectTransform>();
            if (rectTransform != null)
            {
                originalScale = rectTransform.localScale;
                // 初始设为0缩放
                rectTransform.localScale = Vector3.zero;
            }
            Play();
        }
        /// <summary>
        /// 播放弹出动画
        /// </summary>
        public void Play()
        {
            if (rectTransform != null)
            {
                gameObject.SetActive(true);
                rectTransform.localScale = Vector3.zero;
                rectTransform.DOScale(originalScale, duration).SetEase(easeType);
            }
        }

        /// <summary>
        /// 隐藏UI
        /// </summary>
        public void Hide()
        {
            if (rectTransform != null)
            {
                rectTransform.DOScale(Vector3.zero, duration * 0.5f)
                    .SetEase(Ease.InBack)
                    .OnComplete(() => gameObject.SetActive(false));
            }
        }

        private void OnDestroy()
        {
            rectTransform?.DOKill();
        }
    
}
相关推荐
PaoloBanchero43 分钟前
Unity 虚拟仿真实验中设计模式的使用 ——策略模式(Strategy Pattern)
unity·设计模式·策略模式
PaoloBanchero44 分钟前
Unity 虚拟仿真实验中设计模式的使用 —— 观察者模式(Observer Pattern)
观察者模式·unity·设计模式
软件黑马王子3 小时前
2025Unity超详细《坦克大战3D》项目实战案例(上篇)——UI搭建并使用和数据持久化(附资源和源代码)
游戏·ui·unity·c#
爱吃小胖橘17 小时前
Unity-动画子状态机
3d·unity·c#·游戏引擎
SmalBox18 小时前
【光照】[物理模型]中的[BRDF]是什么?
unity·渲染
ellis19701 天前
toLua[三] Examples 02_ScriptsFromFile分析
unity
oLingXi121 天前
Unity开发CI/CD工具Jenkins的安装(Windows10)
运维·unity·ci/cd·jenkins
安卓开发者1 天前
鸿蒙NEXT UI Design Kit:打造高端精致界面的新利器
ui·华为·harmonyos
windyjl1 天前
UE5框选提示UI与目标对齐
ui·ue5
X01动力装甲1 天前
@scqilin/phone-ui 手机外观组件库
前端·javascript·ui·智能手机·数据可视化