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


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch