[過去ログ] 【3Dゲームエンジン】Unity質問スレッド29 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
366: 名前は開発中のものです。 [sage] 2017/06/15(木) 21:49:43.66 ID:MqJWwv/e(3/4) AAS
 中韓差別なんていつまで中世なんだよ頭ん中まだ江戸&明治か 
367(1): 名前は開発中のものです。 [sage] 2017/06/15(木) 21:52:44.86 ID:WMhBIdhV(3/3) AAS
 あ? 
 その半コテいっつも人の話聞かねーしトンチンカンなことばっかやってんだろ 
 人種じゃなくてっここに居着いてるクソコテに対して言ってんだよ 
368: 名前は開発中のものです。 [sage] 2017/06/15(木) 21:57:55.58 ID:MqJWwv/e(4/4) AAS
 >>367 
 あぁ名前欄気づいてなかったスマンな 
 何にしろ賑わいやから無視なんて哀しいこと言うなよ 
 煽って楽しみなw 
369: 名前は開発中のものです。 [sage] 2017/06/15(木) 23:08:28.32 ID:tbjN2528(1) AAS
 キムチが孔明の罠に引っ掛かり過ぎてどうしたらいいのか分からないw 
370: 名前は開発中のものです。 [sage] 2017/06/15(木) 23:14:40.89 ID:GyFtPUJw(1) AAS
 実はコルーチンで動かしてて、他のスレッドでオールストップしてるとか言うオチだったりね 
371: 名前は開発中のものです。 [sage] 2017/06/15(木) 23:32:05.77 ID:wF9Ns+99(1) AAS
 「俺は間違っていない!プログラムか仕様がおかしいんだ!」と思い込むのは初心者の時だれもが通る道だな 
 昔は誰にも聞けず自力で何とかするしかなかったんだし 
 分かりやすく質問できないのなら、あとは本人が頑張るしかないだろうね 
372(1): 名前は開発中のものです。 [] 2017/06/15(木) 23:48:11.83 ID:vA8D14AN(1) AAS
 IEnumerator coroutine; 
   void Start () 
   {   
     coroutine = Sample2 (10, 0.5f);   
     StartCoroutine (Sample1 ());   
     StartCoroutine (coroutine);   
   } 
   void Update () 
   {   
     if (Input.GetKeyDown (KeyCode.Space)) { 
       StopCoroutine (Sample1 ()); 
     }    
     if (Input.GetKey (KeyCode.Alpha1)) { 
       StopCoroutine (coroutine); 
     }    
   } 
   IEnumerator Sample1 () 
   {   
     for (int i = 0; i < 100; i++) {   
       Debug.Log ("Sample1:" + i);   
       yield return new WaitForSeconds (0.5f);   
     }   
   } 
   IEnumerator Sample2 (int num, float interval) 
   {   
     for (int i = 0; i < num; i++) {   
       Debug.Log ("Sample2:" + i);   
       yield return new WaitForSeconds (interval);   
     }   
   }  
 サイトに載ってあったのをちょっといじったんですが、Sample1()がスペースを押しても止まりません。 
 どなたか回答宜しくお願いいたします。 
373(2): 名前は開発中のものです。 [sage] 2017/06/16(金) 00:58:31.25 ID:NRISneYy(1) AAS
 StopCoroutine("Sample1"); //止まる 
 StopCoroutine(Sample1()); //止まらない 
  
 理由は知らない 
374: 名前は開発中のものです。 [] 2017/06/16(金) 01:16:37.99 ID:VwSQ55H3(1/3) AAS
 >>373 
 ""派に改宗します。ありがとうございました。 
375(1): 名前は開発中のものです。 [] 2017/06/16(金) 03:50:00.92 ID:BRMMaX+I(1) AAS
 素材が少なくて困ってるんですけどどうすればいいですか? 
376: 名前は開発中のものです。 [sage] 2017/06/16(金) 04:41:11.65 ID:mGgG4nl1(1/3) AAS
 自分で作れ 
377: 名前は開発中のものです。 [sage] 2017/06/16(金) 05:12:23.54 ID:0lsJXiZf(1) AAS
 素材の作成を依頼すればいいと思いますよ 
378: 名前は開発中のものです。 [] 2017/06/16(金) 06:33:25.02 ID:Gpp7Q59K(1) AAS
 >>375 
 アセッてはいけません 
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
 ケース・バイ・ケース 
上下前次1-新書関写板覧索設栞歴
あと 612 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s