[過去ログ] 【3Dゲームエンジン】Unity質問スレッド29 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
379(2): 名前は開発中のものです。 [sage] 2017/06/16(金) 08:17:36.16 ID:E6JM4SWs(1/3) AAS
 >>372-373 
 インスタンスを意識してない初心者にありがちなミスだが、 
 StartCoroutine (Sample1 ()); 
 StopCoroutine (Sample1 ()); 
 止まらないのはこの2つの引数に渡されてるIEnumeratorインスタンスが別物だからだな。 
  
 文字列引数はコルーチンに引数がひとつしか渡せない、リフレクションしてるのでオーバーヘッドが大きいなどの点でインスタンスを渡すより劣る。 
 また他の問題として文字列引数はタイプミスしてても実行時エラーになるまでミスが検出出来ない、リファクタリングでメソッド名変えたら引数を書き換えなきゃならないなどメンテナンス性が悪い。 
  
 Coroutine coroutine1 = StartCoroutine (Sample1()); 
 StopCoroutine (coroutine1); 
  
 または 
  
 IEnumerator sample1 = Sample1 (); 
 StartCoroutine (sample1); 
 StopCoroutine (sample1); 
  
 とすればちゃんと止まる。 
 遅い、不便、ミスしやすいの3拍子揃った文字列引数は、実行時に呼び出すメソッド名文字列を生成するなどの無茶をしなければ必要ない。 
380(2): 名前は開発中のものです。 [sage] 2017/06/16(金) 10:10:27.55 ID:mGgG4nl1(2/3) AAS
 その文を理解するには 
  
 インスタンス 
 リフレクション 
 オーバーヘッド 
 リファクタリング 
 メソッド名 
  
 の5つを質問者が理解している必要があり 
 コルーチンはたぶん理解してると思われるが 
381: 名前は開発中のものです。 [sage] 2017/06/16(金) 10:39:38.15 ID:E6JM4SWs(2/3) AAS
 >>380 
 知らない単語をググって習得の機会とするのか 
 わからないままコードをコピペして満足するか 
 質問者がどっちを選ぶかはわりとどうでもいい 
  
 後者を選んでも問題解決するようにコードは書いてあるしな 
382: 名前は開発中のものです。 [sage] 2017/06/16(金) 10:48:53.84 ID:O6aBsQlK(1) AAS
 ScriptReferenceだとStartCoroutineもStopCoroutineも 
 IEnumeratorインスタンス作って使えになってんのな 
  
 公式tutorialは相変わらず動的コード生成のまんまじゃの 
 これではなくならん 
383(1): 名前は開発中のものです。 [sage] 2017/06/16(金) 16:32:56.58 ID:puc0wwL/(1/2) AAS
 find関数はupdate関数の中で使うなということですが、find関数使わずにどうやってオブジェクトの情報を取得するのでしょうか? 
384(1): 名前は開発中のものです。 [sage] 2017/06/16(金) 16:46:44.86 ID:E6JM4SWs(3/3) AAS
 >>383 
 Awake内でFindしてプロパティに参照を保持 
 Awake後に動的に生成されるものに関しては、生成されたインスタンス側のAwake内で渡し先をFindして参照を渡すなど 
  
 Updateは毎フレーム呼ばれるので毎フレームオブジェクトを探すのは無駄 
 Find系に比べれば軽いがGetComponent系も同様 
385: 名前は開発中のものです。 [sage] 2017/06/16(金) 17:36:38.42 ID:puc0wwL/(2/2) AAS
 >>384 
 わかりやすくありあり。 
386(1): 名無し@キムチ [] 2017/06/16(金) 20:18:06.07 ID:GcEw8KU8(1) AAS
 >>363デバッガというかデバッグ関数はいつも使っています。 
 ですが役に立った試しがありません。 
 というのは説明ではコンソールに表示されると書いてあるのですが、 
 コンソールはプロジェストの右にあるボタンを押すと出てくるウインドウのことですよね? 
 ですが、例えばDebug.Log("金玉");と書いてそこをいくら探しても何も表示されてないのですが… 
 当方の探し方が悪いのでしょうか? 
387: 名前は開発中のものです。 [sage] 2017/06/16(金) 20:43:24.72 ID:QsCI2dtA(1) AAS
 スルー推奨 
388: 名前は開発中のものです。 [sage] 2017/06/16(金) 21:59:31.08 ID:hsu73I1c(1) AAS
 >>386 
 そういうときは「unity Debug.Log 表示されない」ででも検索なさいな 
 初心者のうち、というか経験積んでも開発環境よりも先にまず自分を疑うのは基本だ 
  
 他の質問は割りと素直にアドバイス聞き入れて建設的な解決に向かうのに今回はやけに突っ掛かるね 
389(3): 名前は開発中のものです。 [sage] 2017/06/16(金) 22:00:19.70 ID:OyCZvXKK(1) AAS
 あらかじめインスペクタでアタッチするのと、AwakeとかでFind&GetCommentのとではどっちが効率いいんだろう 
390(1): 名前は開発中のものです。 [sage] 2017/06/16(金) 22:51:43.71 ID:mGgG4nl1(3/3) AAS
 ケース・バイ・ケース 
391: 名前は開発中のものです。 [sage] 2017/06/16(金) 23:03:14.59 ID:qF4UEGK8(1) AAS
 パフォーマンス的には大して変わらん? 
392: 名前は開発中のものです。 [] 2017/06/16(金) 23:54:50.50 ID:VwSQ55H3(2/3) AAS
 >>380 
 コルーチンは宣言時点で(List系みたいに?)自動でIEnumratorのインスタンス生成していたということですか 
 色々聞いて見るとやっぱり()最高ですね。ありがとうございました。 
393: 名前は開発中のものです。 [] 2017/06/16(金) 23:57:11.94 ID:VwSQ55H3(3/3) AAS
 >>379さん貼り忘れてましたありがとうございました。 
394(1): 名前は開発中のものです。 [sage] 2017/06/17(土) 02:51:53.94 ID:ZFFYbfbw(1/5) AAS
 Findはオーバーヘッドばかにならないはずだが 
 なぜケースバイケースなんだ? 
395(1): 名前は開発中のものです。 [sage] 2017/06/17(土) 02:58:09.35 ID:4N3eKWxH(1) AAS
 そりゃケースバイケースの時があるからですよ 
 解らない人は知らなくていいと思う 
396: 名前は開発中のものです。 [sage] 2017/06/17(土) 03:09:01.44 ID:RWFiqgwy(1) AAS
 人外のコントって面白えな 
397: 名前は開発中のものです。 [sage] 2017/06/17(土) 03:14:20.63 ID:ZFFYbfbw(2/5) AAS
 答えられません、とw 
 ほんとテケトーだな 
398(1): 名前は開発中のものです。 [sage] 2017/06/17(土) 03:33:49.35 ID:tORkmJ/o(1) AAS
 外部リンク:gist.github.com 
 ベンチマークある 
 100オブジェクトで3.6msのようだが、1/4近くそれだけに取られるのはちょっと 
399: 名前は開発中のものです。 [sage] 2017/06/17(土) 03:57:50.33 ID:ZFFYbfbw(3/5) AAS
 1000回まわしてそんなもんならって思っちゃう罠 
 tagだと圧倒的に早いって参考になるね 
 typeはあかんやつや 
400(2): 390 [sage] 2017/06/17(土) 07:24:43.63 ID:89HwilAC(1/3) AAS
 >>394 
 俺の言ってるのは>>389についてケースバイケースって事な 
 Update()内でのFindの話はしてない 
401(1): 名前は開発中のものです。 [sage] 2017/06/17(土) 10:18:54.89 ID:uOCjaS/6(1) AAS
 >>400 
 アセットおじさんっぽいな 
402(2): 名前は開発中のものです。 [sage] 2017/06/17(土) 10:36:34.45 ID:pfeoMtxp(1/2) AAS
 >>400 
 横からですまんけど、どうケースバイケース? 
 単にD&Dが好きかコード書くのが好きかみたいな手段の話? 
 それとも負荷の話ではある?>>389は負荷のつもりだと思うけど(知らんけど) 
403: 名前は開発中のものです。 [sage] 2017/06/17(土) 10:41:47.59 ID:UGLU7o9s(1) AAS
 同種のアタッチ先が違うオブジェクトを複数用意する必要があるならインスペクタで柔軟に変えられるようにしておく 
 複数のシーンで同じオブジェクトを使用したり、途中で生成したりするならFind 
 実装方法による 
上下前次1-新書関写板覧索設栞歴
あと 599 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.023s