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状态,但是从不播放。从空闲状态的过渡是代码中设置的简单触发器。如果我在Unity编辑器中手动播放动画,该动画将起作用。有人知道为什么会卡住吗?
答案 0 :(得分:0)
我解决了自己的问题。由于游戏在此动画期间暂停,因此Time.timeScale设置为0,因此它将永远不会播放。要修复,我将animationUpdateMode设置为UnscaledTime。