From 821b91fce3202521edd37897b2023e007fa92df1 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 09 十二月 2025 15:00:02 +0800
Subject: [PATCH] 125 战斗 伤害显示延长展示时间(scale1.5s delay1.5s)
---
Main/System/Battle/UIComp/TotalDamageDisplayer.cs | 44 +++++++++++++++++++++++++++++++++++++-------
1 files changed, 37 insertions(+), 7 deletions(-)
diff --git a/Main/System/Battle/UIComp/TotalDamageDisplayer.cs b/Main/System/Battle/UIComp/TotalDamageDisplayer.cs
index 15aa820..4abc05c 100644
--- a/Main/System/Battle/UIComp/TotalDamageDisplayer.cs
+++ b/Main/System/Battle/UIComp/TotalDamageDisplayer.cs
@@ -14,6 +14,14 @@
private long heal = 0;
+ public const float scaleDuration = 1.5f;
+
+ public const float delayCloseDuration = 1.5f;
+
+ public static readonly Vector3 scalePunch = new Vector3(0.4f, 0.4f, 0.4f);
+
+ private Sequence punchTween = null;
+
public void SetDamage(BattleDmgInfo dmgInfo)
{
var battleField = BattleManager.Instance.GetBattleField(dmgInfo.battleFieldGuid);
@@ -23,6 +31,12 @@
if (dmgInfo == null)
return;
+
+ if (dmgInfo.isFirstHit)
+ {
+ damage = 0;
+ heal = 0;
+ }
if (dmgInfo.IsType(DamageType.Recovery))
{
@@ -48,23 +62,39 @@
}
else
{
- textDamage.text =BattleUtility.DisplayDamageNum(0, BattleConst.BattleTotalDamageType);
- imgTotalDesc.sprite = UILoader.LoadSprite("Fight", "Fight1_img_85");
- damageBackground.sprite = UILoader.LoadSprite("Fight", "Fight1_img_88");
+ gameObject.SetActive(false);
+ return;
+ }
+ // else
+ // {
+ // textDamage.text =BattleUtility.DisplayDamageNum(0, BattleConst.BattleTotalDamageType);
+ // imgTotalDesc.sprite = UILoader.LoadSprite("Fight", "Fight1_img_85");
+ // damageBackground.sprite = UILoader.LoadSprite("Fight", "Fight1_img_88");
+ // }
+
+ if (punchTween != null && punchTween.IsActive())
+ {
+ battleField.battleTweenMgr.OnKillTween(punchTween);
+ textDamage.transform.localScale = Vector3.one;
+ punchTween = null;
}
- var tween = textDamage.transform.DOPunchScale(Vector3.one * 0.2f, 0.8f / battleField.speedRatio, 1).OnComplete(() =>
+ punchTween = DOTween.Sequence();
+ var tween1 = textDamage.transform.DOPunchScale(scalePunch, scaleDuration / battleField.speedRatio, 1);
+ punchTween.Append(tween1);
+ // 鎾斁缁撴潫鍚� 寤惰繜1.5绉掑啀娑堝け
+ var tween2 = DOVirtual.DelayedCall(delayCloseDuration / battleField.speedRatio, () => { });
+ punchTween.Append(tween2);
+ punchTween.OnComplete(() =>
{
textDamage.transform.localScale = Vector3.one;
if (dmgInfo.isLastHit)
{
gameObject.SetActive(false);
- damage = 0;
- heal = 0;
}
});
- battleField.battleTweenMgr.OnPlayTween(tween);
+ battleField.battleTweenMgr.OnPlayTween(punchTween);
}
}
--
Gitblit v1.8.0