2017-10-28 129 views
0

我试着在我的动画完成播放后开始一个协调例程。Unity - 等到动画完成

我想它是这样的:

... 

while (animCamera.isPlaying) { 
    new WaitForSeconds(1); 
} 

StartCoroutine(LoadAsync(sceneName, sliderLoadbar, sliderLoadbarText)); 

但这尽快进入while循环崩溃了一段时间后,我的统一,甚至我的浏览器和我团结stucks。

我该如何解决这个问题?

+1

语法'收率返回新WaitForSeconds(1)'; – Hellium

+1

但是你可能感兴趣:'yield return new WaitUntil((()=> animCamera.isPlaying);'或者[状态机行为](https://unity3d.com/fr/learn/tutorials/modules/beginner/ 5-pre-order-beta/state-machine-behaviors) – Hellium

+0

不错,看起来很有前途,但是我的尝试失败了。 Unity不会冻结或崩溃,但没有任何反应,并且游戏陷入困境。 – Black

回答

3
在你的动画游戏物体的动画标签

建立在动画的最后一帧的情况下,附着上面的脚本这个游戏物体,并选择您想在它的结束运行的方法

enter image description here

除去协程,只是作简单的方法

public void LoadScene() 
{ 
    LoadAsync(sceneName, sliderLoadbar, sliderLoadbarText) 
}