2017-10-28 21 views
0

アニメーションが終了した後にコルーチンを開始しようとしています。ユニティ - アニメーションが終了するまで待つ

私はこのようにそれを試してみました:

... 

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

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

しかし、これは、すぐにwhileループが入力されると、しばらくして、私の団結とさえ私のブラウザがクラッシュし、私のユニティstucks。

どうすればこの問題を解決できますか?あなたのアニメーションゲームオブジェクトのアニメーション]タブで

+1

構文は収率が新しいWaitForSeconds(1) ''返しであることを確認してください。 – Hellium

+1

興味があるかもしれません: 'yield return new WaitUntil(()=> animCamera.isPlaying);' [State Machine Behavior](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) 
} 
関連する問題