コルーチン(Coroutine)

コルーチン(Coroutine)
コルーチン(Coroutine)
コルーチン(Coroutine)は処理を途中で止めたり一定時間待ってから再開したりできる仕組み
■作成方法
コルーチンを作るにはIEnumerator型の関数を作る。
例:private IEnumerator TestCoroutine()
コルーチンを一時停止するにはyield returnを使う。
例:yield return new WaitForSeconds(1);←この場合1秒待機する。
※一時停止(yield return)を扱えるのがIEnumeratorのためIEnumeratorは必須。
作ったコルーチンを実行するにはStartCoroutineが必要になる。
例:StartCoroutine(TestCoroutine());
つまりTestCoroutineというコルーチンを作成し実行するには下記のようになる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
using UnityEngine; // コルーチンを使うために必要 using System.Collections; public class CoroutineExample : MonoBehaviour { private void Start() { // コルーチン実行 StartCoroutine(TestCoroutine()); } /// <summary> /// 実行されるコルーチン /// </summary> /// <returns>IEnumerator(コルーチンを作るときに使う特別な戻り値の型)</returns> private IEnumerator TestCoroutine() { Debug.Log("1秒待つ"); yield return new WaitForSeconds(1); Debug.Log("1秒経過"); } } |
これを実行すると
「1秒待つ」
と表示された1秒後に
「1秒経過」
と表示される
