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();
        }
    
}
相关推荐
程序员Ctrl喵16 分钟前
状态管理与响应式编程 —— 驾驭复杂应用的“灵魂工程”
开发语言·flutter·ui·架构
AxureMost43 分钟前
Seelen UI 桌面美化工具(仿MAC交互)
macos·ui·交互
心前阳光1 小时前
Unity使用豆包语音模型
unity·游戏引擎
张老师带你学1 小时前
unity资源:星际飞船 陨石 虫族 星球
科技·游戏·unity·模型·游戏美术
心前阳光1 小时前
Unity使用豆包语言模型
unity·语言模型
魔士于安1 小时前
unity宇宙飞船
游戏·unity·游戏引擎·贴图·模型
RReality2 小时前
【Unity Shader】高级光照与阴影总结:渲染路径、多光源、透明阴影
unity·游戏引擎
I'm Jie21 小时前
Swagger UI 本地化部署,解决 FastAPI Swagger UI 依赖外部 CDN 加载失败问题
python·ui·fastapi·swagger·swagger ui
爱学习的程序媛1 天前
【Web前端】优化Core Web Vitals提升用户体验
前端·ui·web·ux·用户体验
爱学习的程序媛1 天前
【Web前端】前端用户体验优化全攻略
前端·ui·交互·web·ux·用户体验