Unity

/

【Unity】コルーチンを使ってみる

【Unity】コルーチンを使ってみる のサムネイル

やりたいこと

コルーチンを使って処理をずらしてみる

環境

  • OS : macOS Sequoia 15.2
  • Unity : Unity6(6000.0.34f1)

コルーチンとは

コルーチン(Coroutine)とは特定の処理を一時停止できる仕組みのことを言う。

一般的な関数は一気に全ての処理が実行されますが、コルーチンは途中で一時停止、再開ができる。 例えば、ゲーム開始何秒後かに関数を実行するなんてことができる。

Coroutineは、「協調(co)+ 一連の処理の集合(routine)」 である。
なので、複数の処理が協力しながら進む処理の集合を表す。

使ってみる

今回はお金を見つけて交番に届ける流れをコルーチンで試してみたいと思います。

「お金を見つける➡︎歩く➡︎拾う➡︎交番に行く」の流れを1秒ずらしでデバックしてみる。

using System.Collections;
using UnityEngine;

public class test : MonoBehaviour
{
    void Start()
    {
        StartCoroutine(Sample());
    }

    IEnumerator Sample(){
        Debug.Log("お金を見つける");
        yield return new WaitForSeconds(1f);
        Debug.Log("歩く");
        yield return new WaitForSeconds(1f);
        Debug.Log("拾う");
        yield return new WaitForSeconds(1f);
        Debug.Log("交番に行く");
    }
}

C#

実行結果⬇︎

Unity画像

コルーチンを使うには、using System.Collectionsが必要。
StartCoroutine(“関数名”)でコルーチンを呼び出す。

コルーチンはIEnumerator(アイイニューマレーター)型を使う必要がある。 IEnumeratorは「Iterator(反復処理) Enumerator(列挙するもの)」の略であり、順番にデータを列挙(取り出す)できる仕組みである。

yield return new WaitForSeconds(1f);で1秒間処理を中断し、再開するようになる。

参考

Unity マニュアル - コルーチン

Unity マニュアル - コルーチン

Wikipedia - コルーチン

侍エンジニアブログ -【Unity】はじめてのコルーチン!これさえ読めば基礎はカンペキ

@hayato-c18 - IEnumeratorを理解する

初心者向け 備忘録 用語解説