質問: true; sound.PlaySE(4); yield return new WaitForSeconds(0.5f); } ``` ### 試したこと StartCoroutine後にコルーチン内のDebug.Logで確認したところ、 StopCoroutineに入っていないが一巡して終わっていることを確認しました。 ### 補足情報(FW/ツールのバージョンなど) ○Unity Unity2018.2.19f1
回答: すでに回答されているので少しだけ補足を。 コルーチンはあくまで指定した関数を「**少し異なった方法**」で実行するだけにすぎません。 少し異なった方法、というのは`yield return`でリターンした部分で一度処理を抜け、また「**次のフレームで**」続きを実行する、というのがUnityのコルーチンの挙動です。 つまり、`while`などのループ処理でいわゆる「無限ループ」の構造をしていないと、関数の最後まで実行した時点で処理は終了してしまいます。 コルーチンは決して「繰り返し処理を行う」機能ではない点に注意してください。 (繰り返し処理は前述の通り、プログラマが明示的に実装しないとなりません)