前提・実現したいこと
一回だけでよいのに、Instantiateが無限に実行されオブジェクトが複製され続けて困っています。
どこが間違っているのでしょうか。Text01にはTMPTextをプレハブ化したオブジェクトを入れています。
cs
1 void Start() 2 { 3 var TMPtext01 = Text01.GetComponent<TextMeshProUGUI>(); 4 textWidth = TMPtext01.preferredWidth; 5 6 Text02 = (GameObject)Instantiate(Text01); 7 Text02.transform.SetParent(this.transform.parent); 8 9 Vector2 SetPos = new Vector2(textWidth , Text02.transform.position.y); 10 RectTransform rect02 = Text02.GetComponent<RectTransform>(); 11 rect02.localPosition = SetPos; 12 }
このスクリプトは何にアタッチされているのですか?
Text01にこのスクリプトがアタッチされているからでないの?
おっしゃる通りText01にアタッチしていました。
別のオブジェクトにアタッチしなおしたところ、一回のみ複製されるようになりましたが、なぜText01にアタッチしていると複製が繰り返されてしまうのでしょうか?
Instantiate(Text01)で新たなText01が作られる→新しく作られたからStart実行しなきゃ→Instantiate(Text01)で新たなText01が作られる
ってことかと
あぁ、なるほど...、確かにそうなりますね。
お二方ともありがとうございました。自己回答でクローズさせていただきます。
回答1件
あなたの回答
tips
プレビュー