Не делается активным объект (SetActive(true) не работает)

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Не делается активным объект (SetActive(true) не работает)

Сообщение Magnitofon 11 сен 2013, 13:05

Господа, ей Богу не пойму, в чём дело! Есть объект FPS Weapons. В нём несколько дочерних объектов. В игре мне нужно в определённые моменты включать его или отключать. Отключается он прекрасно:
Синтаксис:
Используется javascript
GameObject.Find("FPS Weapons").SetActive(false);


А вот включаться ни в какую не хочет!

Синтаксис:
Используется javascript
GameObject.Find("FPS Weapons").SetActive(true);

Пробовал использовать вместо "SetActive(...)" выдающее предупреждения в консоли "active=...", всё так же не получается включить объект обратно (полная Ж) . Делал эксперимент, предварительно отключал FPS Weapons и пробовал скриптово его включать, он не включается. Не знаю, как быть.
В чём проблема?
Magnitofon
UNIт
 
Сообщения: 63
Зарегистрирован: 10 сен 2013, 16:50

Re: Не делается активным объект (SetActive(true) не работает)

Сообщение porcha 11 сен 2013, 13:43

из докуменации
Note that a GameObject may be inactive because a parent is not active. In that case, calling SetActive() will not activate it, but only set the local state of the GameObject, which can be checked using GameObject.activeSelf. This state will then be used once all parents are active.
используй просто
Синтаксис:
Используется javascript
Find("FPS Weapons").gameObject.active = true;
GameDev Проект
porcha
UNITрон
 
Сообщения: 188
Зарегистрирован: 28 мар 2013, 19:47

Re: Не делается активным объект (SetActive(true) не работает)

Сообщение Kayler 11 сен 2013, 13:49

porcha писал(а):из докуменации
Note that a GameObject may be inactive because a parent is not active. In that case, calling SetActive() will not activate it, but only set the local state of the GameObject, which can be checked using GameObject.activeSelf. This state will then be used once all parents are active.
используй просто
Синтаксис:
Используется javascript
Find("FPS Weapons").gameObject.active = true;

не поможет, найти неактивный объект невозможно
нужно заранее использовать переменную ссылку на объект
Аватара пользователя
Kayler
Адепт
 
Сообщения: 1038
Зарегистрирован: 25 авг 2010, 23:49
Откуда: Чувашия

Re: Не делается активным объект (SetActive(true) не работает)

Сообщение Magnitofon 11 сен 2013, 14:02

Kayler писал(а):нужно заранее использовать переменную ссылку на объект


Блин, а где почитать про создание переменных ссылок на объект?
Magnitofon
UNIт
 
Сообщения: 63
Зарегистрирован: 10 сен 2013, 16:50

Re: Не делается активным объект (SetActive(true) не работает)

Сообщение nile 11 сен 2013, 15:58

Public GameObject YourObject;
В компоненте нужно будет вручную приаттачить ваш объет . Доступ к нему производится через YourObject ,  независимо активен он или нет.
Аватара пользователя
nile
Старожил
 
Сообщения: 848
Зарегистрирован: 25 фев 2011, 17:17

Re: Не делается активным объект (SetActive(true) не работает)

Сообщение seaman 11 сен 2013, 16:43

где почитать про создание переменных

Крутой вопрос. Как же Вы скрипты то пишете?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Не делается активным объект (SetActive(true) не работает)

Сообщение Magnitofon 11 сен 2013, 20:12

nile писал(а):Public GameObject YourObject;



О, спасибо! Получилось! \:D/ \:D/ \:D/ Только Public GameObject не заработало, я использовал var name = GameObject и уже name включал и выключал.

seaman писал(а):Крутой вопрос. Как же Вы скрипты то пишете?


Так и пишем :-B Что где соберём по сусекам, тем и пользуемся :))
Magnitofon
UNIт
 
Сообщения: 63
Зарегистрирован: 10 сен 2013, 16:50


Вернуться в Почемучка

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 24