見出し画像

Unityのコルーチン

・Unity 2019.3.0f1

1. コルーチン

「コルーチン」は、処理を途中で中断して、「1フレーム後」または「数秒後」に中断箇所から再開できる関数です。シングルスレッドでマルチスレッド的な処理が可能になります。

2. コルーチンの使用方法

◎ コルーチンの定義
コルーチンの定義は次のとおりです。

IEnumerator myCoroutine()
{
    myText.text += "1 ";
    yield return null;
    myText.text += "2 ";
    yield return null;
    myText.text += "3 ";
}

型「IEnumerator」で関数を定義することで、コルーチンになります。

「yield return null」は、ここで処理を中断するという意味です。
次の3種類の中断方法があります。

yield return null;
処理を中断し、1フレーム後に再開。

yield return new WaitForSeconds(num);
処理を中断し、num秒後に再開。

yield break;
処理を中断し、再開しない。

◎ コルーチンの実行
コルーチンを実行するには、StartCoroutine()を使います。

    void Start ()
    {
        StartCoroutine("myCoroutine");
    }

テキストUIには"123"と表示されます。1フレーム目に「1」、2フレーム目に「2」、3フレーム目に「3」が出力されています。

早すぎてわかりにくい人は、2回続けて呼んでみてください。

    void Start ()
    {
        StartCoroutine("myCoroutine");
        StartCoroutine("myCoroutine");
    }

通常の関数であれば"123123"となるところ、コルーチンを使っているので"112233"と表示されます。


この記事が気に入ったらサポートをしてみませんか?