Задать вопрос
BadCats
@BadCats

Получить дочерний элемент ui в unity?

Как у canvas в unity через скрипт получить его дочерний button, что бы потом иметь возможность обращаться к нему и проверять на нажатия ?
Пробовал так:
GUIElement Button;
GUIElement[] ge= gameObject.GetComponents<GUIElement>();
        for (int i = 0; i < ge.Length; i++)
        {
            if (ge[i].tag == "button1")
            {
                Button = ge[i];
            }

        }

, но понятно, что такой вариант не подходит по здравому смыслу.
Да, я знаю, что в самом редакторе есть встроенный "редактор событий" - по типу OnClick - и можно прописать цепочку условий, но там нельзя подписать на свой обработчик событий, поэтому и спрашиваю как обратиться к самой кнопке как к дочернему елементу.
  • Вопрос задан
  • 483 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
GavriKos
@GavriKos Куратор тега Unity
Да перетяните в инспекторе на serializeField и все. Или переберите например через transform.GetChilds (или как то так). Но лучше всего - не изобретайте велосипед и используйте встроенные средства, как вы описали. Все там можно указать в качестве своего обработчика.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Вы напутали с классами, GUIElement с канвасом не имеет ничего общего, это класс для редактора. Вам нужен UnityEngine.UI.Button, у него есть событие onClick, на которое можно подписаться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы