【Unity】引数ありのコルーチンの使い方とCoroutineを中止させる方法

Unity

はじめに

この記事ではコルーチンを利用したアニメーションの一時停止を紹介します。

 

— YouTubeなら5分4秒で学べます ―

 

コルーチン(Coroutine)を使う準備

Hierarcy 上で右クリックし、Create Empty で空オブジェクトを設置し、スクリプトをアタッチしてください。

 

 

1フレームだけ停止させる場合「yield return null」

一時停止させたいときは、「IEnumerator Name() { yield return null;} 」というインターフェース(装置)を作成し、「StartCoroutine(“Name”);」で呼び出します。

yield return null では1フレームだけ遅延させることができます。

確認したい場合は、以下のコードを試してみてください。

もし、遅延処理なしの場合は「012012」と出力されますが、遅延処理が発生しているので「001122」のように出力されます。

 

 

n秒間遅延させたいとき「yield return new WaitForSeconds」

秒数を指定して遅延させたい場合は、「yield return new WaitForSeconds(秒数);」のように使用します。

アニメーションとコルーチンを組み合わせれば、攻撃モーションの後に爆発エフェクトを実行したりもできます。

以下の動画では、爆発エフェクトを実行して、数秒後にエフェクトを停止するコルーチンを使っています。

 

 

コルーチンを中断したいとき「yield break」

コルーチンを強制的に中止させたい場合は「yield break;」を使用します。

今回はfor の i が1になったときにコルーチンを中止させています。

 

 

引数ありのコルーチンのを使いたいとき

引数のあるコルーチンを使用したい場合は「StartCoroutine( Name(引数));」のように使用してください。

 

忙しい人のためのUnity入門講座へ戻る

 

タイトルとURLをコピーしました