Единство - Кнопка
В этой главе мы узнаем, как вставлять элементы пользовательского интерфейса в нашу сцену и работать с ними.
Давайте начнем с Button. Чтобы вставить кнопку, щелкните правой кнопкой мыши в иерархии сцен и перейдите кCreate → UI → Button. Если у вас нет существующего холста и EventSystem, Unity автоматически создаст его для вас и поместит кнопку внутри холста.

Помните, что в OverlayВ режиме рендеринга, который является режимом по умолчанию, размер холста не зависит от размера камеры. Вы можете проверить это, нажав наGame таб.

Если вы проиграете сцену, вы заметите, что кнопка уже имеет некоторые стандартные функции, такие как обнаружение, когда мышь наводится на нее, и изменение цвета при нажатии.
Button требует, чтобы функциональность была действительно полезной в пользовательском интерфейсе. Эту функциональность можно добавить через его свойства.
Давайте создадим новый скрипт и назовем его ButtonBehaviour.
public class ButtonBehaviour : MonoBehaviour {
int n;
public void OnButtonPress(){
n++;
Debug.Log("Button clicked " + n + " times.");
}
}
Мы создали простой метод, который регистрирует, сколько раз мы нажимали кнопку.
Note- Этот метод должен быть публичным; в противном случае это не будет замечено функциональностью кнопки.
Давайте создадим пустой GameObject и прикрепим к нему этот скрипт. Мы делаем это потому, что кнопка сама по себе ничего делать не будет; он вызывает только указанный метод в своем сценарии.

Теперь перейдите в свойства кнопки и найдите OnClick() свойство.
_property.jpg)
Нажмите значок + на нижней вкладке, и в списке должна появиться новая запись.

Эта запись определяет, на какой объект действует нажатие кнопки и какая функция вызывается в сценарии этого объекта. Поскольку при нажатии кнопки используется система событий, вы можете запускать несколько функций, просто добавляя их в список.
Перетащите пустой GameObject, который содержит ButtonManager сценарий, который мы создали, на None (Object) слот.
_slot.jpg)
Перейдите No Function раскрывающийся список и найдите наш OnButtonPressметод. (Помните, что его можно назвать как угодно, OnButtonPress - это просто стандартизованное соглашение об именах.) Вы должны найти его вButtonBehaviour раздел.
Если вы играете в игру сейчас, вы можете проверить кнопку, и, конечно же, консоль распечатает, сколько раз вы нажимали кнопку.