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();
        }
    
}
相关推荐
MoSTChillax1 天前
UI规范设计:从视觉到交互的全面指南
前端·ui·产品经理·设计规范·vibecoding
zhangphil1 天前
Unity3D(Unity)跨平台游戏引擎简介
unity
Madokaly1 天前
DOTween动画:TweenManager深度解析
unity
Devlab2 天前
LVGL设计大师——网页版anyui来了!!
嵌入式硬件·物联网·低代码·ui·iot
_ZHOURUI_H_2 天前
Unity TCP底层极限拆解:粘包、半包、CRC、序列号、双缓冲到底怎么一起工作的?
网络·网络协议·tcp/ip·游戏·unity·游戏引擎·游戏开发
向星而行_star2 天前
Ito 模型在业务场景中的落地应用指南
ui
KindSuper_liu2 天前
Unity 游戏网络基础:从 TCP、UDP 到 HTTP、TLS 与 Best HTTP
网络·游戏·unity
界面开发小八哥2 天前
界面控件DevExpress XAF v26.1新版亮点——Blazor UI功能增强(二)
ui·界面控件·blazor·devexpress·ui开发
qq_170264752 天前
unity里GameObject和Texture的内存归属
java·unity·游戏引擎
Oll Correct2 天前
Adobe illustrator 案例四:吃豆人 (Pac-Man)图标绘制
笔记·ui·adobe·illustrator