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"と表示されます。
この記事が気に入ったらサポートをしてみませんか?