コルーチンを使ったwhile文の挙動がおかしかったので、
Debug.Log()を使い、以下のコードで確認しました。
/* 省略 */ public IEnumerator Bind_Damage (EnemyController enemyCtrl) { //while文を5回ループ int count = 5; while (count > 0){ Debug.Log("処理A"); /* 処理Aの処理*/ yield return new WaitForSeconds(0.4f); Debug.Log("処理B"); /* 処理Bの処理*/ yield return new WaitForSeconds(0.4f); Debug.Log("処理C"); /* 処理Cの処理*/ count--; Debug.Log("終了D"); /* 終了Dの処理*/ } count = 0; }
試したところ以下のコードが出力されました。
処理A 2回
処理B 10回
処理C 10回
処理D 10回
処理A 8回
疑問点は2つあります。
・処理の回数は4回では?
・処理Aが2つに分かれてしまった理由は?
もし、ご存知の方がおられましたらお教えいただければ幸いです。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/26 21:23
2015/09/27 16:26