B L O G

ブログ記事

thumbnail

【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("交番に行く");
    }

}

実行結果 ⬇︎

Unityでコルーチンのデバック結果

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

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

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

参考

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

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

Wikipedia - コルーチン

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

@hayato-c18 - IEnumerator を理解する

関連する記事