夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Unityで一定間隔に処理を実行するメソッド

本日はUnity枠です。

筆者はUnityの暦としては7年近くになりますが、知らないことだらけで毎日が学習の日々です。

今回は一定間隔毎に処理を実行するメソッドについて紹介します。

〇InvokeRepeating

InvokeRepeatingはStart関数など任意の関数で呼ぶことで引数として指定したメソッドを一定間隔で実行することが可能です。

InvokeRepeating(string methodName, float time, float repeatRate);

第二引数は遅延実行時間(0の場合は即実行)、第三引数は再び実行される秒数になります。

例えば下記のように実装した場合

InvokeRepeating("Connect", 0f, 10f);

Connect()が10秒ごとに実行されます。

筆者は今まで一定間隔でとなるとコルーチンやUpdate関数などで処理をしていたのですが、コルーチンの実装と異なる点として 通常のVoidのメソッドを実行することができる点です。

また一行で済む点としても可読性を上げることに役立ちます。

またコルーチンなど同様メインスレッドではなくサブスレッドで実行される点に注意が必要です。

docs.unity3d.com

本日は短いですが以上です。