- 389 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 08:17:36.16 ID:E6JM4SWs.net]
- >>375-376
インスタンスを意識してない初心者にありがちなミスだが、 StartCoroutine (Sample1 ()); StopCoroutine (Sample1 ()); 止まらないのはこの2つの引数に渡されてるIEnumeratorインスタンスが別物だからだな。 文字列引数はコルーチンに引数がひとつしか渡せない、リフレクションしてるのでオーバーヘッドが大きいなどの点でインスタンスを渡すより劣る。 また他の問題として文字列引数はタイプミスしてても実行時エラーになるまでミスが検出出来ない、リファクタリングでメソッド名変えたら引数を書き換えなきゃならないなどメンテナンス性が悪い。 Coroutine coroutine1 = StartCoroutine (Sample1()); StopCoroutine (coroutine1); または IEnumerator sample1 = Sample1 (); StartCoroutine (sample1); StopCoroutine (sample1); とすればちゃんと止まる。 遅い、不便、ミスしやすいの3拍子揃った文字列引数は、実行時に呼び出すメソッド名文字列を生成するなどの無茶をしなければ必要ない。
|

|