Unity. Button On Click — Реагируем на клик!

Привет! Мы добавили кнопку (Button), но при нажатии ничего не происходит. Это будет короткий и простой гайд, где мы напишем скрипт меняющий текст для определённого Text при нажатии на кнопку. А ещё сделаем из кнопки счётчик. Почему бы и нет?

Погнали!

Скрипты для Button

Добавим в ассеты папку Scripts, а в ней создадим C# Script с именем ButtonClick.

Открываем его. Добавляем зависимость для работы с UI.

Переменную для текста, который буем редактировать:

Вообще вариантов такого скрипта несколько. Можно повесить скрипт на отдельный элемент и просто перетянуть текст в редакторе, или скрипт повесить на кнопку с аналогичной схемой. Но я решил, что скрипт редактируемого текста лучше оставить на тексте. Так что просто пропишем его инициализацию в Start():

И простейшую функцию для изменения текста:

Результат:

Как я и сказал, вешаем его на Text, который будем изменять. Буквально перетягиваем скрипт в инспектор. Он должен быть отображен как один из компонентов.

Теперь выделяем Button, ищем OnClick и нажимаем на плюсик:

Сюда перетягиваем Text со скриптом:

И в списке с функциями находим нашу функцию:

Всё. Можно запускать! Нажимаем на кнопку и видим наш текст!

Делаем из кнопки счётчик

Пускай теперь на кнопке ещё и будет отображено количество нажатий? Это тоже легко сделать. Давайте добавим ещё скрипт ButtonCounter.

Его содержимое практически совпадает с предыдущим, так что вот сразу весь код:

В этот раз вешаем скрипт на саму кнопку. Ей же добавляем функцию в OnClick().

Запускаем ещё раз и кликаем:

Функции в примере бесполезные, зато чётко показывают как работает обработка клика. По сути мы можем написать скрипт с эффектом тряски для камеры, разместить его на камере, а кнопке дать лишь объект камеры. И это будет работать.

Кстати, обработку клика можно совершать, конечно же, и в коде. Пример в официальной документации тут!

На этом всё, спасибо за внимание!

Список всех материалов по Unity

1 комментарий к “Unity. Button On Click — Реагируем на клик!”

  1. Пингбэк: Уроки по Unity – GeekStand

Оставьте комментарий

Пролистать наверх