Всем привет! Давно ничего не писал, но сейчас мне захотелось рассказать вам об очень удобной вещи, о которой многие не знают. Это система событий в Unity. Многие люди, для задач, для которых EventSystem очень удобен, используют обычный Raycast. Я расскажу о том, как использовать часть функционала EventSystem (его на самом деле очень много) и как этот инструмент позволяет быстро решать множество задач, связанных с обработкой событий интерфейсов и объектов.
Как всегда репозиторий с примерами.
Если вам интересно, добро пожаловать под кат!
В этой статье я разберу и приведу примеры работы с событиями IPointerEnterHandler, IPointerExitHandler, IPointerDownHandler, IPointerUpHandler, IPointerClickHandler, IDragHandler, IBeginDragHandler, IEndDragHandler (полный список событий вы можете посмотреть здесь ).
Что такое система событий? EventSystem — система, отвечающая за обработку различных событий в сцене.
По сути, это позволяет:
- Определите, какой GameObject «выбран»
- Управление используемыми методами ввода
- Управление рейкастингом
Что касается raycasts, в EventSystem доступны три основных компонента:
- Графический Raycaster — используется для работы с пользовательским интерфейсом.
- Physics 2D Raycaster — используется для взаимодействия с физическими объектами в 2D.
- Physics Raycaster — используется для взаимодействия с физическими объектами в 3D.
Начнем с самого простого — с системы пользовательского интерфейса.
EventSystem с ним работает проще и лучше всего.
Дело в том, что при создании Canvas модуль сразу добавляет в сцену все необходимые компоненты, такие как сам EventSystem и Graphic Raycaster. В случае с пользовательским интерфейсом система событий позволяет легко создавать собственные кнопки и основные взаимодействия с различными элементами пользовательского интерфейса.
Например, давайте посмотрим на IPointerEnterHandler, IPointerExitHandler, IPointerDownHandler, IPointerUpHandler, IPointerClickHandler, IDragHandler, IBeginDragHandler, IEndDragHandler. Чтобы элемент пользовательского интерфейса реагировал на события входа (IPointerEnterHandler), выхода (IPointerExitHandler) курсора мыши, необходимо реализовать эти интерфейсы в требуемом объекте.
Это помогает во многих случаях, когда нужно что-то выделить, подсветить и т. д. На примере с тестовой сценой и изображением это позволяет в несколько строк кода создавать подобные взаимодействия: Теги: #unity #eventsystem #unity3d #C++ #raycasting #gamedev #gamedevelopment #games #unity #.
NET #C++ #unity
-
Обновление Wii? Не Могу Дождаться!
19 Oct, 24 -
Вирус Для Mac
19 Oct, 24 -
Воздушный Бой На Чистом Html
19 Oct, 24 -
Возможен Ли Elder Scrolls Online?
19 Oct, 24 -
Вам Нужно Держать Свои Планы В Секрете?
19 Oct, 24 -
Blippex — Поисковая Система В Википедии.
19 Oct, 24