【问题标题】:Animation Trigger set in IEnumerator causes Animation to get stuckIEnumerator 中设置的动画触发器导致动画卡住
【发布时间】:2018-06-22 19:53:29
【问题描述】:
private IEnumerator reviveCountdown() {

    timeLeft = 5;
    while (timeLeft >= 0) {
        reviveAnim.ResetTrigger ("AdReviveTrigger");
        reviveAnim.SetTrigger ("AdReviveTrigger");
        reviveCountdownText.text = timeLeft.ToString();
        yield return new WaitForSecondsRealtime(1.0f);
        timeLeft--;
    }
}

我正在使用上面的 IEnumerator 来显示一个从 5 倒计时到 0 的计时器,并在每次倒计时时为文本设置动画。倒计时工作正常。我遇到的问题是动画被触发但从未真正播放,因为它卡在动画状态,如下面的屏幕截图所示。它在整个 5 秒内处于 AdRevive 状态,但从不播放。从 Idle 的转换是代码中设置的简单触发器。如果我在 Unity 编辑器中手动播放动画,它会起作用。有谁知道为什么会卡住?

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    我解决了自己的问题。 Time.timeScale 设置为 0,因为游戏在此动画期间暂停,因此它永远不会播放。为了解决这个问题,我将 animationUpdateMode 设置为 UnscaledTime。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      • 2016-05-02
      • 2011-05-05
      • 1970-01-01
      • 2019-10-23
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多