Как работать с мултитач на Unity?

189
29 декабря 2018, 17:20

Например так: нажал на левую сторону экрана - вывелось "Hi", а на правую - "Bye". Когда обе нажал - "Good". Некоторые советуют количество пальцев считать, а мне надо чтобы в определенных участках были нажатия. Если два пальца с правой стороны экрана тапнуть, всё равно "Bye" должно вывести. Это как пример. Мне нужно понять как реализуется.

Answer 1

Попробуйте использовать зоны и интерфейсы IPointerDownHandler и IPointerUpHandler. (для их работы на сцене должен быть скрипт EventSystem - он создаётся автоматически при создании первого Canvas)

Первый срабатывает, когда произошло нажатие на объект, на котором висит скрипт, а второй, когда оно закончилось.

Условно, самая простая реализация следующая - делаете две прозрачные картинки в нужных вам местах. Вешаете на них скрипты, которые реализуют эти два интерфейса. Делаете общий класс отвечающий за выведение вашего текста и имеющий две bool переменные - isLeft и isRight.

Когда IPointerDownHandler срабатывает - меняете соответствующий стороне срабатывания bool на true, после чего проверяете оба bool и выводите соответствующий текст.

Соответственно при срабатывании IPointerUpHandler - меняете соответствующий bool на false и опять проверяете переменные и меняете текст.

READ ALSO
Получение значения Dictionary<> по индексу

Получение значения Dictionary<> по индексу

Как получить значение Dictionary<> по индексу

215
Почему не выделяется первый вариант в Intellisense?

Почему не выделяется первый вариант в Intellisense?

Пишу например название класса, мне Intellisense подсказывает правильный класс, но он не выделяется в подсказке, а соотвественно я не могу просто...

155
Вывести родительские рубрики записи (WordPress)

Вывести родительские рубрики записи (WordPress)

Как можно в записи вывести родительские рубрики?

176