Как отследить нажатие на sprite?

127
31 июля 2019, 01:20

Я могу узнать куда нажал пользователь:

Input.touches[0].position

А как я могу проверить находится ли этот клик на определенной картинке?

Answer 1

Помимо самого очевидного решения (повесить Collider на объект и проверять входит ли клик по координатам в границы Collider), можно повесить скрипт на любой Unity UI объект и в нем реализовать интерфейс IPointerClickHandler, тогда EventSystem будет воспринимать клики по этому объекту и вызывать метод OnPointerClick(PointerEventData pointerEventData).

Кроме реализации интерфейса, на сцене должна быть EventSystem, и она должна быть настроена принимать клики. В целом по умолчанию, при создании Canvas, все будет настроено достаточно для простейшего использования. В документации также описано, что подобный подход можно реализовать и для не Unity UI объектов, правда для этого потребуется сделать несколько дополнительных шагов.

READ ALSO
В студии wpf (C#) не видны имена объектов

В студии wpf (C#) не видны имена объектов

В последнее время часто стало необходимо создавать некоторые формы в WPF и сталкиваюсь постоянно с одной и той же проблемойПосле задания имен...

137
Как запустить срипт python с помощью с# на google colab

Как запустить срипт python с помощью с# на google colab

Подскажите как такое сделатьЕсть https://github

119
Как с помощью Sprite кнопки двигать объект?

Как с помощью Sprite кнопки двигать объект?

Есть кнопка, которая должна при нажатие двигать мяч:

108
Как сохранить новые поля в Entity Framework

Как сохранить новые поля в Entity Framework

Я создал класс который расширяет набор свойств Entity Framework

124