[過去ログ] 【3Dゲームエンジン】Unity質問スレッド29 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
359: 2017/06/15(木)20:06 ID:MqJWwv/e(1/4) AAS
検討違いも甚だしいけどヤル気はあるようだからトライ&エラーを繰り返すがいいよ
360: 2017/06/15(木)20:07 ID:ev6fHGrU(5/6) AAS
>>356
とりあえず、アセット買えばいいんじゃない?
361(1): 名無し@キムチ 2017/06/15(木)20:21 ID:HLTN1pmO(3/3) AAS
とりあえずアセットに付属しているスクリプトが邪魔をしているのでは?と予測して全部削除しましたが、それでは直りませんでしたw
362: 2017/06/15(木)21:32 ID:ev6fHGrU(6/6) AAS
>>361
じゃあ、アセット買えばいいと思いますよ
363(1): 2017/06/15(木)21:42 ID:MqJWwv/e(2/4) AAS
デバッガの使い方を覚えようね
まずはステップ実行してみなさい
外部リンク[html]:halcyonsystemblog.blog.fc2.com
364: 2017/06/15(木)21:47 ID:u6BBn+XE(1) AAS
24行縛りなんか聞いた事ないし、だとしたら他のスクリプトがそのスクリプトかオブジェクトを消去してるかだ。
とにかく、そのソースだけじゃアドバイスはエスパでない限りほぼ無理っぽいので、ステップ実行で見てくださいな。
365: 2017/06/15(木)21:48 ID:WMhBIdhV(2/3) AAS
キムチはスルーでいいよ
366: 2017/06/15(木)21:49 ID:MqJWwv/e(3/4) AAS
中韓差別なんていつまで中世なんだよ頭ん中まだ江戸&明治か
367(1): 2017/06/15(木)21:52 ID:WMhBIdhV(3/3) AAS
あ?
その半コテいっつも人の話聞かねーしトンチンカンなことばっかやってんだろ
人種じゃなくてっここに居着いてるクソコテに対して言ってんだよ
368: 2017/06/15(木)21:57 ID:MqJWwv/e(4/4) AAS
>>367
あぁ名前欄気づいてなかったスマンな
何にしろ賑わいやから無視なんて哀しいこと言うなよ
煽って楽しみなw
369: 2017/06/15(木)23:08 ID:tbjN2528(1) AAS
キムチが孔明の罠に引っ掛かり過ぎてどうしたらいいのか分からないw
370: 2017/06/15(木)23:14 ID:GyFtPUJw(1) AAS
実はコルーチンで動かしてて、他のスレッドでオールストップしてるとか言うオチだったりね
371: 2017/06/15(木)23:32 ID:wF9Ns+99(1) AAS
「俺は間違っていない!プログラムか仕様がおかしいんだ!」と思い込むのは初心者の時だれもが通る道だな
昔は誰にも聞けず自力で何とかするしかなかったんだし
分かりやすく質問できないのなら、あとは本人が頑張るしかないだろうね
372(1): 2017/06/15(木)23:48 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): 2017/06/16(金)00:58 ID:NRISneYy(1) AAS
StopCoroutine("Sample1"); //止まる
StopCoroutine(Sample1()); //止まらない
理由は知らない
374: 2017/06/16(金)01:16 ID:VwSQ55H3(1/3) AAS
>>373
""派に改宗します。ありがとうございました。
375(1): 2017/06/16(金)03:50 ID:BRMMaX+I(1) AAS
素材が少なくて困ってるんですけどどうすればいいですか?
376: 2017/06/16(金)04:41 ID:mGgG4nl1(1/3) AAS
自分で作れ
377: 2017/06/16(金)05:12 ID:0lsJXiZf(1) AAS
素材の作成を依頼すればいいと思いますよ
378: 2017/06/16(金)06:33 ID:Gpp7Q59K(1) AAS
>>375
アセッてはいけません
379(2): 2017/06/16(金)08:17 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): 2017/06/16(金)10:10 ID:mGgG4nl1(2/3) AAS
その文を理解するには
インスタンス
リフレクション
オーバーヘッド
リファクタリング
メソッド名
の5つを質問者が理解している必要があり
コルーチンはたぶん理解してると思われるが
381: 2017/06/16(金)10:39 ID:E6JM4SWs(2/3) AAS
>>380
知らない単語をググって習得の機会とするのか
わからないままコードをコピペして満足するか
質問者がどっちを選ぶかはわりとどうでもいい
後者を選んでも問題解決するようにコードは書いてあるしな
382: 2017/06/16(金)10:48 ID:O6aBsQlK(1) AAS
ScriptReferenceだとStartCoroutineもStopCoroutineも
IEnumeratorインスタンス作って使えになってんのな
公式tutorialは相変わらず動的コード生成のまんまじゃの
これではなくならん
383(1): 2017/06/16(金)16:32 ID:puc0wwL/(1/2) AAS
find関数はupdate関数の中で使うなということですが、find関数使わずにどうやってオブジェクトの情報を取得するのでしょうか?
384(1): 2017/06/16(金)16:46 ID:E6JM4SWs(3/3) AAS
>>383
Awake内でFindしてプロパティに参照を保持
Awake後に動的に生成されるものに関しては、生成されたインスタンス側のAwake内で渡し先をFindして参照を渡すなど
Updateは毎フレーム呼ばれるので毎フレームオブジェクトを探すのは無駄
Find系に比べれば軽いがGetComponent系も同様
385: 2017/06/16(金)17:36 ID:puc0wwL/(2/2) AAS
>>384
わかりやすくありあり。
386(1): 名無し@キムチ 2017/06/16(金)20:18 ID:GcEw8KU8(1) AAS
>>363
デバッガというかデバッグ関数はいつも使っています。
ですが役に立った試しがありません。
というのは説明ではコンソールに表示されると書いてあるのですが、
コンソールはプロジェストの右にあるボタンを押すと出てくるウインドウのことですよね?
ですが、例えばDebug.Log("金玉");と書いてそこをいくら探しても何も表示されてないのですが…
当方の探し方が悪いのでしょうか?
387: 2017/06/16(金)20:43 ID:QsCI2dtA(1) AAS
スルー推奨
388: 2017/06/16(金)21:59 ID:hsu73I1c(1) AAS
>>386
そういうときは「unity Debug.Log 表示されない」ででも検索なさいな
初心者のうち、というか経験積んでも開発環境よりも先にまず自分を疑うのは基本だ
他の質問は割りと素直にアドバイス聞き入れて建設的な解決に向かうのに今回はやけに突っ掛かるね
上下前次1-新書関写板覧索設栞歴
あと 614 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.018s