【unity入門】Invoke関数を使って一定時間後に処理をしよう!

unityでゲーム製作をしていると一定時間後に処理をしたくなることがありますよね。

そんなときはInvoke関数を使えば簡単に処理できます。

この記事ではInvoke関数を使った一定時間後の処理について解説いたします!

Invoke関数とは

Invoke関数は指定した時間に他の関数を実行します。

数秒後の処理を行うにはInvoke関数の他にコルーチンという仕組みもあるのですが、コルーチンと比較すると簡単に実装することができます。

Invoke関数の引数

Invoke関数の引数は二つ取ります。

Invoke(string 関数名, float 何秒後に実行するか);

関数名はstring型なので記述するときは『” “』をつけます。

また、何秒後に実行するかはfloat型で記述することに注意しましょう。

Invoke関数の使い方

Invoke関数を実際に使ってみましょう。

今回は『SayHello』という『こんにちは』とログ出力する関数を1秒後に呼び出してみようと思います。

スクリプトをオブジェクトにアタッチ

まずはスクリプトを適当なオブジェクトにアタッチしましょう。

Cameraオブジェクトでも新しく作った空のオブジェクトでもなんでも構いません。

コードを記述

オブジェクトにアタッチしたスクリプトにコードを書き込みます。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class test : MonoBehaviour {

	void Start () {
        Invoke("SayHello", 1.0f);
	}

    void SayHello()
    {
        Debug.Log("こんにちは!");
    }
}

このスクリプトを実行を実行すると、1秒後にSayHello()が実行され、『こんにちは!』とログ出力されます。

まとめ

Invoke関数は簡単に一定時間後の処理を実装することができます。

便利ですので、ぜひ使ってみてください。