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();
        }
    
}
相关推荐
修炼前端秘籍的小帅4 天前
Stitch——Google热门的免费AI UI设计工具
前端·人工智能·ui
王码码20354 天前
Flutter for OpenHarmony:socket_io_client 实时通信的事实标准(Node.js 后端的最佳拍档) 深度解析与鸿蒙适配指南
android·flutter·ui·华为·node.js·harmonyos
weixin_424294674 天前
Unity 调用Steamworks API 的 SteamUserStats.RequestCurrentStats()报错
unity·游戏引擎·steamwork
HoFunGames4 天前
Unity小地图,Easy Minimap System MT-GPS插件
unity·游戏引擎
2501_921930834 天前
Flutter for OpenHarmony:第三方库实战 chewie 视频播放器UI组件详解
flutter·ui
wy3258643644 天前
Unity 新输入系统InputSystem(基本操作)
unity·c#·游戏引擎
WarPigs4 天前
着色器multi_compile笔记
unity·着色器
梵得儿SHI4 天前
Vue3 生态工具实战宝典:UI 组件库 + 表单验证全解析(Element Plus/Ant Design Vue/VeeValidate)
前端·vue.js·ui·elementplus·vue性能优化·antdesignvue·表单验证方案
ECHO飞跃 0124 天前
Unity2019 本地推理 通义千问0.5-1.5B微调导入
人工智能·深度学习·unity·llama
Unity游戏资源学习屋4 天前
【Unity UI资源包】GUI Pro - Casual Game 专为休闲手游打造的专业级UI资源包
ui·unity