using UnityEngine; using UnityEngine.UI; using TEngine; using TMPro; using DG.Tweening; using Cysharp.Threading.Tasks; namespace GameLogic { [Window(UILayer.UI)] class UIPlayerAddNumItem : UIWidget { #region 脚本工具生成的代码 private TextMeshProUGUI m_tmp_addNum; protected override void ScriptGenerator() { m_tmp_addNum = FindChildComponent("m_tmp_addNum"); } #endregion #region 事件 #endregion protected override void OnCreate() { base.OnCreate(); // 实现字体的从小到大的变化、并且带有从0-1的透明变化 if (m_tmp_addNum != null) { // 初始缩放和透明 m_tmp_addNum.transform.localScale = Vector3.one * 0.2f; var color = m_tmp_addNum.color; color.a = 0f; m_tmp_addNum.color = color; // 动画:缩放到1,透明到1 float duration = 1f; m_tmp_addNum.transform.DOScale(Vector3.one * 2, duration).SetEase(Ease.OutBack); DOTween.To( () => m_tmp_addNum.color.a, a => { var c = m_tmp_addNum.color; c.a = a; m_tmp_addNum.color = c; }, 1f, duration ).SetEase(Ease.OutQuad).OnComplete(async () => { await UniTask.Delay(1000); Destroy(); }); } } } }