Как отловить тап на смартфоне?

107
16 февраля 2022, 03:00

Хочу реализовать прыжок по двойному нажатию в определенной области. Как считать первое и следующие нажатие по экрану чтобы проверить что было нажата "двойным тапом"?

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

public void OnPointerClick(PointerEventData eventData)
{
    if (eventData.button == PointerEventData.InputButton.Left && eventData.clickCount == 2)
    {
        player_.GetComponent<Player_Controller>().Jump(); // Функция прыжка
        IsButtonPressed = true; // Кнопка нажалась
    }
}
Answer 1

UI API (не путать с input system) в Unity поддерживает и мышь, и тачи.

PointerEventData.InputButton.Left и вообще весь enum PointerEventData.InputButton - это чисто мышь, я не уверен, что такое даже соберется под смартфоны.

Для тачей достаточно условия if(eventData.clickCount > 0), чтобы понять, что тап по IPointClickHandler'у был, проверять "область" срабатывания тоже не нужно, данный интерфейс получит такое событие только если нажали именно на него.

READ ALSO
Сборка и запуск WPF приложения из консоли

Сборка и запуск WPF приложения из консоли

Вопрос вроде простой, но я так не понял, как сделать: хочу сделать тоже самое, что делается при запуске/сборке приложения из visual studio, но только...

185
Почему создается дополнительное поле Section_Id, EF, Code first?

Почему создается дополнительное поле Section_Id, EF, Code first?

Почему в БД создается дополнительное поле Section_Id с нулевым значением (на рисунке показано создание ключа - закомментированное значение)?

99
Как решить проблему с StackOverflow ecxeption?

Как решить проблему с StackOverflow ecxeption?

Есть рекурсивная функция

176
Как создать веб сокет клиент на C#?

Как создать веб сокет клиент на C#?

У меня есть сервер на php и webSocket клиент на js в браузереКак создать сокет соединения с этим же сервером на C# через протокол tcp? Использую стандартную...

155