Unityラーニング-StopCoroutineストップコルーチン



Unity Learning Stopcoroutine Stop Coroutine



StopCoroutineメソッドはStartCoroutineメソッドに似ていますが、2つのオーバーロードがあります。
void StopCoroutine(string methodName)
void StopCoroutine(IEnumeratorルーチン)
このメソッドは、コルーチンメソッドのメソッド名を文字列型パラメーターとして渡すか、IEnumerator型パラメーターを渡すことができます。
次に、StopCoroutineメソッドの使用法を紹介しましょう。

using System.Collections using System.Collections.Generic using UnityEngine public class StopCoroutine : MonoBehaviour { IEnumerator DoSomething(float someParameter) { print('DoSomething Loop') yield return null } IEnumerator Start() { StartCoroutine('DoSomething',2.0f) yield return new WaitForSeconds(1) StopCoroutine('DoSomething') } }

このコードでは、コルーチンDoSomethingが開始されます。コルーチンが実行されている場合は、「DoSomethingLoop」という文が継続的に出力されます。したがって、1秒間待機した後、コードの実行がStopCoroutine行に達すると、コルーチンの操作が停止します。
画像
注:これは、StopCoroutineが使用されていない場合です。



画像
注:これは、この方法を使用する場合です

StopCoroutineメソッドは、同じメソッド名と同じゲームスクリプトで渡された文字列型パラメーターを持つコルーチンのみを停止でき、他のスクリプトで開かれたコルーチンには影響しません。同時に、StopCoroutineメソッドは、StartCoroutineの文字列パラメーターを使用するオーバーロードされたバージョンによって開始されたコルーチンのみを停止できます。