今回はCoroutineの使い方についてまとめてみました。
[ StartCoroutine ]
StartCoroutineは指定したコルーチンを呼び出すことができます。
下記は3秒後にコンソールに「3秒後に呼び出されるよ!」と出力するスクリプトです。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ScriptTest : MonoBehaviour { void Start() { //FunctionTestを呼び出します。 StartCoroutine("FunctionTest"); } IEnumerator FunctionTest() { //3秒停止。 yield return new WaitForSeconds(3f); Debug.Log("3秒後に呼び出されるよ!"); } }
[ StopCoroutine ]
StopCoroutineはStartCoroutineの呼び出しを無効化できます。
下記は3秒後にコンソールに「3秒後に呼び出されるよ!」と出力するスクリプトですが、スペースキーを3秒以内に押せばコンソールに出力するのを無効化できます。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ScriptTest : MonoBehaviour { void Start() { //FunctionTestを呼び出します。 StartCoroutine("FunctionTest"); } void Update() { if (Input.GetKeyDown(KeyCode.Space)) { StopCoroutine("FunctionTest"); } } IEnumerator FunctionTest() { //3秒停止。 yield return new WaitForSeconds(3); Debug.Log("3秒後に呼び出されるよ!"); } }