Есть ли аналог GetKeyDown , но с touch

301
12 мая 2021, 18:20

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

(If ...)
{ 
}
Answer 1

Есть TouchPhase, в котором лежит перечисление видов нажатий на экран.

Began       - Палец коснулся экрана.
Moved       - Палец передвинулся по экрану.
Stationary  - Палец коснулся экрана, но не сдвинулся.
Ended       - Палец только что оторван от экрана. Это последняя фаза нажатий.
Canceled    - Система отменила отслеживание касаний.

и конкретное применение описано в документации

public class ExampleClass : MonoBehaviour {
    public Vector2 startPos;
    public Vector2 direction;
    public bool directionChosen;
    void Update() {
        // Если есть касание
        if (Input.touchCount > 0) {
            Touch touch = Input.GetTouch(0);
            // Определяем вид касания и его зависимую логику
            switch (touch.phase) {
                // Record initial touch position.
                case TouchPhase.Began:
                    startPos = touch.position;
                    directionChosen = false;
                    break;
                // Determine direction by comparing the current touch position with the initial one.
                case TouchPhase.Moved:
                    direction = touch.position - startPos;
                    break;
                // Report that a direction has been chosen when the finger is lifted.
                case TouchPhase.Ended:
                    directionChosen = true;
                    break;
            }
        }
        if (directionChosen) {
            // Что-то происходит тут если выбрано направление...
        }
    }
}
READ ALSO
Как получить все обработчики события из EventInfo?

Как получить все обработчики события из EventInfo?

Как через рефлексию получить все обработчики события? Ведь, когда я добавляю обработчик, он должен сохраняться в какое-то приватное поле

96
как вывести значения WaitForSeconds в unity c#

как вывести значения WaitForSeconds в unity c#

как показать отсчет времени при запуске/перезапуске сцены?

166
Миграция переводит названия таблиц в нижний регистр

Миграция переводит названия таблиц в нижний регистр

Проект ASPNET Core WebAPI, ORM EF Core, база данных MySQL, провайдер Pomelo

99
Не скрываются папки после обновления через функцию SHChangeNotify

Не скрываются папки после обновления через функцию SHChangeNotify

Сначала я отключаю просмотр всех скрытых файлов и папок через реестр: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

130