【Unity】時間を指定して、その後関数を呼び出す

  • |
【Unity】時間を指定して、その後関数を呼び出す
   

第9回目は、時間を指定して設定されたメソッドを呼び出す方法です。
cocos2dxを利用している場合はDelayTimeクラスやCallFuncクラスを使って実装していましたが、Unityではどのようにしたらいいのかを調べました。

前回:【Unity 2D】衝突判定について | albatrus.com

コルーチン

Unityだけではないのですが、「コルーチン」という仕組みがあります。


StartCoroutine

まずは、「コルーチン」で設定された関数(メソッド)を呼び出す時には[StartCoroutine]を利用します。


IEnumerator ※※※()

「コルーチン」に指定する関数には[IEnumerator]を頭に付けます。

yield return new WaitForSeconds()

時間を指定する場合には[WaitForSeconds]を利用します。
指定された秒数後に、[WaitForSeconds]の下に書いたコードが呼び出されます。

コルーチンを途中で止める場合

コルーチン内で条件式などを使って、途中で中断する場合は[StopCorutine]を利用します。
また、全てのコルーチンを止める場合は[StopAllCorutine]を使います。

Invoke

「コルーチン」だけではなく、Invoke()を利用すれば同じように時間が指定できます。


Updateを利用する

cocos2dxでもよく利用しているのですが、Updateを使ってある時間ごとにメソッドを呼び出す方法もあります。


最後に

初め「コルーチン」についてよくわかっていなかったのですが、いろいろ試してどんなものなのか体感出来ました。
これは非常に便利な関数なので忘れずに利用をしていきたいです。


Related Posts Plugin for WordPress, Blogger...