【问题标题】:Unity - wait until animation finished [duplicate]Unity - 等到动画完成[重复]
【发布时间】:2017-10-28 21:34:07
【问题描述】:

我尝试在动画播放完毕后启动协同程序。

我试过这样:

...

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

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

但这会在一段时间后使我的统一甚至我的浏览器崩溃,并且一旦进入 while 循环,我的统一就会卡住。

我该如何解决这个问题?

【问题讨论】:

  • 语法为yield return new WaitForSeconds(1);
  • 但您可能对yield return new WaitUntil(() => animCamera.isPlaying);State Machine Behaviour感兴趣
  • 不错,看起来很有希望,但我的尝试失败了。 Unity 不再冻结或崩溃,但没有任何反应,游戏卡住了。

标签: c# unity3d unity5


【解决方案1】:

在动画游戏对象的动画选项卡中,在动画的最后一帧创建一个事件,将上述脚本附加到该游戏对象,并在最后选择要运行的方法

去掉协程,做一个简单的方法

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

【讨论】:

    猜你喜欢
    • 2017-08-10
    • 2015-07-17
    • 1970-01-01
    • 2013-01-21
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多