Coroutineの停止

執筆日:2017/03/04
Coroutineはとても便利な機能ですが、慣れていないと思わぬ挙動をすることがある。

Inputを判断するCoroutineをストップし忘れると、スクリプトをdisableしてもオブジェクトがactiveな限りInputを受け付ける。

以下、Coroutineを止める方法。


Coroutineをスタートする時に

IEnumerator coroutineName = Coroutine();
StartCoroutine(coroutineName);

そして終了したいときに

StopCoroutine(coroutineName);

僕がやってしまった間違いは

StopCoroutine(Coroutine());

これでは新しいCoroutineが止められるだけで、すでに実行されているCoroutineは止まらない。