3Dゲームを製作しています。
UIの一環で、入力に応じてButtonをInstantiateしたいです。
以下のコードを書いたところ、Buttonの動的生成は問題なくできたのですが、なぜかButtonを生成するたびに”空のゲームオブジェクト”が併せて作られてしまいます。
ゲームの進行には影響ないのですが、ヒエラルキーが混雑してとても厄介です。
Buttonのみが生成されるようにするにはどうすればいいでしょうか?
最悪、そのつど空オブジェを消去することを考えていますが、できるだけ処理を軽くしたいのです。
回答よろしくお願いします。
入力に応じて下記のAddButtonが呼び出されます。
[SerializedField] private GameObject AddedButton;//canvas上にあるImageです。生成したButtonはこれの子要素としつつ、Image上に並べて載せて管理するつもりです。 [SerializedField] private GameObject ButtonA;//生成されるButtonのPrefabです。本来は複数種あります。 private void AddButton(int value) { GameObject creatingButton = new GameObject(); switch (value) { //いくつか種類を用意されたButtonプレハブの中からどのButtonを生成するか選ぶ処理です。 //case 1以降は省略していますが、case 0とほぼ同じものが並びます。 case 0: creatingButton=ButtonA; } GameObject createdButton= Instantiate(creatingButton)as GameObject; createdButton.transform.SetParent(AddedButton.transform, false); } コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/01/26 00:16
2018/01/26 00:40