我有一个渐入(从透明变为黑色)的黑屏UI动画,还有一个渐出(从黑色变为透明)的黑屏UI动画。我正在尝试播放渐入动画(屏幕变为黑色),然后在屏幕仍然为黑色时执行一些代码行,然后播放渐出屏幕。
我尝试使用StartCoroutine(Text());
来实现这一点,如下所示:
transitionAnim.Play("fade_in");
StartCoroutine(Text());
character.SetActive(false);
Damagedcharacter.SetActive(true);
transitionAnim.Play("fadeout");
IEnumerator Text() // <- its a standalone method
{
yield return new WaitForSeconds(1f);
}
我想要这些行:
character.SetActive(false);
Damagedcharacter.SetActive(true);
在黑屏期间执行。但它们不是。发生的是它们先执行,然后黑屏淡入淡出。
我如何使黑屏停留一段时间,并在黑屏期间执行一些行,然后淡出?
1条答案
按热度按时间eh57zj3b1#
Coroutine不会神奇地延迟它所启动的方法中的代码。
或者将您的行移动到
IEnumerator
的末尾,如虽然我个人不会混合动画和协程,而是使用Animation Events,并有一个回调,当你褪色到黑色,从那里做的东西,然后触发褪色回来。