[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart1 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
153: 保存 [sage] 2020/01/11(土) 13:24:53.19 ID:GoAReVTm(1/2) AAS
987名前は開発中のものです。2020/01/11(土) 03:28:33.54ID:MfNXfEnO>>990
990(2): 名前は開発中のものです。 [] 2020/09/29(火) 15:09:17.20 ID:z6uRH6gB(2/2) AAS
>>985
想定してるものと違うオブジェクトに関して上がってるイベント見て何か判断してないか?ってこと
オブジェクトそのものを減らすか識別子で間違いなく対象のものから上がってるのを確認する必要がある
コルーチンについて質問させてください。
void Start() {StartCoroutine(A());
}
void Update(){
Debug.Log("update");
}
IEnumerator A(){
Debug.Log("A start");
for (int i = 0; i < 10; i++)
{
Debug.Log("A:"+i);
yield return null;
}
}
とやって動かすと、ログが
A Start
A:0
start end
update
update
A:1
になるんですが、最初のUpdateのあとにコルーチンが実行されないのはどうしてですか?
990名前は開発中のものです。2020/01/11(土) 11:45:27.42ID:GoAReVTm
>>987
987(1): 名前は開発中のものです。 [sage] 2020/09/29(火) 13:12:57.71 ID:oNtRU7/7(1/2) AAS
>>986
自分所有の時、そうじゃない時の分岐if文があるでしょ?
そこを見直すんだ。
入力に対する処理に入る手前か、入ったところでやらかしてるはず。
>最初のUpdateのあとにコルーチンが実行されないのは
最初のUpdateはスタート直後に動くんだけど、Updateの間隔は不定なので、最初のスタートのオーバーヘッドがUpdateを遅延させてしまい2回ログが出力されたのかと思う
これを修正するには
Update を FixedUpdate にし
yield return null を yield return new WaitForFixedUpdate() にする事で解決は出来る

UpdateとFixedUpdate の動作の違いによる処理の仕様なのかな、一言で言うと
1-
あと 849 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.013s