В этой главе мы научимся вставлять элементы пользовательского интерфейса в нашу сцену и работать с ними.
Давайте начнем с кнопки . Чтобы вставить кнопку, щелкните правой кнопкой мыши в иерархии сцен и выберите « Создать» → «Пользовательский интерфейс» → «Кнопка» . Если у вас нет существующего Canvas и EventSystem, Unity автоматически создаст его и поместит кнопку внутри Canvas.
Помните, что в режиме рендеринга с наложением , который является режимом по умолчанию, размер холста не зависит от размера камеры. Вы можете проверить это, нажав на вкладку Игра .
Если вы играете сцену, вы заметите, что кнопка уже имеет некоторые стандартные функции, такие как обнаружение, когда мышь наведена на нее, и изменение цвета при нажатии.
Кнопка требует функциональности, чтобы быть действительно полезной в пользовательском интерфейсе. Эта функциональность может быть добавлена через его свойства.
Давайте создадим новый скрипт и назовем его ButtonBehaviour .
public class ButtonBehaviour : MonoBehaviour { int n; public void OnButtonPress(){ n++; Debug.Log("Button clicked " + n + " times."); } }
Мы сделали простой метод, который регистрирует, сколько раз мы нажали кнопку.
Примечание. Этот метод должен быть общедоступным; иначе это не будет замечено функциональностью кнопки.
Давайте создадим пустой GameObject и прикрепим к нему этот скрипт. Мы делаем это, потому что кнопка не будет ничего делать сама по себе; он вызывает только указанный метод в своем сценарии.
Теперь перейдите в свойства Button и найдите свойство OnClick () .
Нажмите значок + на нижней вкладке, и новая запись должна появиться в списке.
Эта запись определяет, на какой объект действует нажатие кнопки и какая функция скрипта этого объекта вызывается. Из-за системы событий, используемой при нажатии кнопки, вы можете запускать несколько функций, просто добавляя их в список.
Перетащите пустой GameObject, который содержит созданный нами скрипт ButtonManager , в слот None (Object) .
Перейдите в раскрывающийся список « Нет функции» и найдите наш метод OnButtonPress . (Помните, что он может быть назван как угодно, OnButtonPress — это просто стандартное соглашение об именах.) Вы должны найти его в разделе ButtonBehaviour .
Если вы играете в игру сейчас, вы можете проверить кнопку и, конечно же, консоль распечатает, сколько раз вы нажали кнопку.