Unityで、「効果音が鳴り終わったら、次の処理へ入る」、という仕様でプログラムを作っていました。
そのためにコルーチンを使っていましたが、ネットで上がっていた方法をいくら調べたり実践しても全く仕様通りにならない上、コルーチン内のプログラムとコルーチンが終わった後のプログラムが同時に作動するということが起きました。
実際のプログラムをここに載せます。
コルーチンの形がいけなかったのか、それとも別の問題があったのか、原因を教えてください。お願いします。
//待機用コルーチン
private IEnumerator WaitCommand()
{
audioSource.PlayOneShot(sound5); while (true) {
yield return new WaitForFixedUpdate();
if (!audioSource.isPlaying) { Debug.Log("コルーチン終了"); break; } } }
//Playボタンが押された時、待機用コルーチンが終わった後、sound0を再生する
public void AudioPlayButtonDown()
{
StartCoroutine(WaitCommand()); audioSource.PlayOneShot(sound0); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/08 06:20
2019/10/08 07:32
2019/10/08 07:42