[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild2 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
990: 名前は開発中のものです。 [sage] 2020/01/11(土) 11:45:27.42 ID:GoAReVTm(1/2) AAS
>>987
987(1): 名前は開発中のものです。 [sage] 2020/01/11(土) 03:28:33.54 ID:MfNXfEnO(1) AAS
コルーチンについて質問させてください。

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のあとにコルーチンが実行されないのはどうしてですか?
>最初のUpdateのあとにコルーチンが実行されないのは
最初のUpdateはスタート直後に動くんだけど、Updateの間隔は不定なので、最初のスタートのオーバーヘッドがUpdateを遅延させてしまい2回ログが出力されたのかと思う
これを修正するには
Update を FixedUpdate にし
yield return null を yield return new WaitForFixedUpdate() にする事で解決は出来る

UpdateとFixedUpdate の動作の違いによる処理の仕様なのかな、一言で言うと
998: 名前は開発中のものです。 [sage] 2020/01/11(土) 13:13:14.92 ID:GoAReVTm(2/2) AAS
>>995
995(2): 名前は開発中のものです。 [sage] 2020/01/11(土) 12:46:12.11 ID:wPvGtAaQ(1) AAS
敵に攻撃するとダメージが数字でポップアップされるという処理を

var pos = 対象の敵オブジェクト.GetComponent<Transform>()して、
ダメージのテキストをプレハブ化した物をInstantiate(プレハブ, pos)で生成したのですが

ダメージのプレハブが敵オブジェクトの子になっているので、敵オブジェクトのHPが0になってDestroyされた瞬間に一緒に消えてしまいます

生成するプレハブの位置を任意のゲームオブジェクトのtransformに重ねるが、子にはしないみたいな事はどうすれば出来るのでしょうか?
transformから位置(座標?)だけを取得する方法がわかれば応用が色々出来そうなのですが
Instantiateする際に
GameObject obj =Instantiate(プレハブ, pos)
これでGameObject取得できるので、その後すぐに親を外す
obj.transform.paerent =null
これで敵の子として生成した後に独立する
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.030s