создание экземпляра кнопки

Общие вопросы о Unity3D

создание экземпляра кнопки

Сообщение olvol 15 мар 2017, 19:45

Вопрос от новичка. Есть canvas, у него есть дочерний panel, у которого в свою очередь есть дочерняя button. Я пытаюсь создать экземпляр этой самой button. Т.е. экземпляр-то я создаю, но создается он не как дочерний к panel, а становится просто родительским.Ну ок. через transform.SetParent(objParent.transform, false) задал ему родителя canvas, все работает, вопросов нет. Но мне нужно чтобы экземпляр button являлся дочерним к panel! Как это сделать? Как назначить родительским объектом именно panel, который сам дочерний к canvas?
olvol
UNец
 
Сообщения: 3
Зарегистрирован: 15 мар 2017, 19:34

Re: создание экземпляра кнопки

Сообщение olvol 15 мар 2017, 20:29

решил сам, но логики понять не могу
вот так работает:
Синтаксис:
Используется csharp
(Instantiate(objBtn, pos, Quaternion.identity) as GameObject).transform.SetParent(objParent.transform,false)

создает экземпляр именно как дочерний к panel
а вот так уже не работает:
Синтаксис:
Используется csharp
Instantiate(objBtn, pos, Quaternion.identity);
objBtn.transform.SetParent(objParent.transform, false);

почему второй вариант создает кнопку как родительский объект?
olvol
UNец
 
Сообщения: 3
Зарегистрирован: 15 мар 2017, 19:34

Re: создание экземпляра кнопки

Сообщение gearofage 15 мар 2017, 20:31

Вы сами все расписали, transform.SetParent(objParent.transform, false); закиньте в objParent Panel
gearofage
UNец
 
Сообщения: 16
Зарегистрирован: 04 июн 2015, 16:44
Skype: gearofage

Re: создание экземпляра кнопки

Сообщение olvol 16 мар 2017, 21:47

gearofage писал(а):Вы сами все расписали, transform.SetParent(objParent.transform, false); закиньте в objParent Panel


ну panel и так находится в objParent в обоих случаях:
Синтаксис:
Используется csharp
GameObject objParent = GameObject.Find("Panel");
 


так или иначе подправил второй вариант,вдруг кому понадобится. работает он так:
Синтаксис:
Используется csharp
GameObject gobj= Instantiate(objBtn, pos, Quaternion.identity);
                gobj.transform.SetParent(objParent.transform, false);
olvol
UNец
 
Сообщения: 3
Зарегистрирован: 15 мар 2017, 19:34


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: GoGo.Ru [Bot] и гости: 6