fix: 摔倒动画后增加停留缓冲,避免动作未完成就黑幕转场\n\n- 新增 _fallHoldDuration 字段(默认1.5s),Inspector 可调\n- Step3 manfull 2.1s 播完后 wait _fallHoldDuration 再进黑幕

This commit is contained in:
yangbear
2026-06-29 20:37:14 +08:00
parent c592358ef8
commit 64675fc56a
@@ -91,7 +91,6 @@ public class OpeningFlowController : MonoBehaviour
yield return new WaitForSeconds(_idleDuration);
// Step 2: man 投篮动画 Shoot (3.15s)
// 先确保 IsFull=false(因为 Idle→Shoot 过渡条件需要 IsFull=false
Debug.Log("[OpeningFlow] Step2: man Shoot 动画开始");
if (_manAnimator != null)
{
@@ -107,14 +106,20 @@ public class OpeningFlowController : MonoBehaviour
Debug.LogWarning("[OpeningFlow] _manAnimator 为空,跳过 Step2");
}
// Step 3: man 摔倒动画 manfull (2.1s)
// Step 3: man 摔倒动画 manfull,等待动画播完 + 停留缓冲
Debug.Log("[OpeningFlow] Step3: man Fall 动画开始");
if (_manAnimator != null)
{
_manAnimator.SetBool("IsFull", true);
Debug.Log("[OpeningFlow] man IsFull=true, 触发 manfull");
// 等待 manfull 动画播放完成(2.1s
yield return new WaitForSeconds(2.1f);
Debug.Log("[OpeningFlow] Step3: man Fall 动画结束");
// 摔倒后停留缓冲,让玩家看清摔倒结果
Debug.Log($"[OpeningFlow] Step3: 摔倒后停留缓冲 {_fallHoldDuration}s");
yield return new WaitForSeconds(_fallHoldDuration);
}
else
{
@@ -196,4 +201,7 @@ public class OpeningFlowController : MonoBehaviour
if (toAlpha <= 0.01f)
_blackScreenPanel.SetActive(false);
}
[SerializeField] private float _fallHoldDuration = 1.5f;
}