【Unity】 コルーチンの停止について

コルーチンを呼び出した後の停止について。

コルーチンの呼び出し方は2通りある事は既に良く知られているだろうが、
実は呼び出した後に停止する事の出来る呼び出し方は文字列渡しの時のみという罠がある。

停止する

StartCoroutine( "hoge" );
StopCoroutine( "hoge" );


停止しない

StartCoroutine( hoge() );
StopCoroutine( "hoge" );


なので、コルーチンは特に理由が無い限りは文字列呼び出しにしておいた方が
後々都合が良さそうだ。

コルーチン内で外部の変数やフラグを見てyield break=停止という手段もあるが、
管理が少々めんどくさくなってくるのでなるべくコルーチン外から
明示的に停止するようにした方が良いと思う。


ほか、色々とコルーチンについて試してみた事。

・同一コルーチンを複数走らせる事が可能

・MonoBehaviourを継承しない自前クラスのコルーチンもStartCoroutineで呼べる
 →staticコルーチンでも可
 →が、自前クラスコルーチンは文字列呼び出しは出来ない

・MonoBehaviour継承クラスのstaticコルーチン
 →文字列呼び出しは出来ない。(Coroutine 'hoge' couldn't be started! と怒られる)

・StartCotouine_Autoを使っても動作同じ 謎メソッド。

[ 2013年09月22日 04:24:16 : Unity ]

カレンダー

プルダウン 降順 昇順 年別

06月 | 2020年07月 | 08月
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -


全記事表示リンク

全ての記事を表示する

検索フォーム

リンク