Unity Android C# Отслеживания нажатия

486
23 сентября 2017, 20:35

Нужно чтобы при нажатии на экран(в любой точке) выполнялась функцияА один раз, пока не нажмешь снова(то есть как в флепибёрд), у меня же при прикосновение на экран он выполняется пока не отпустишь палец.Использовал Input.touchCount>0

Answer 1

Очевидно, что отслеживать лишь то, что имеет место нажатие - недостаточно. Надо еще отслеживать фазу.

TouchPhase - список возможных фаз

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

Пример там можно подглядеть: https://docs.unity3d.com/ru/current/ScriptReference/Touch-phase.html

И в итоге написать что-то типа:

void Update() {        
    if (Input.touchCount > 0) {
        Touch touch = Input.GetTouch(0);
        if (touch.phase == TouchPhase.Began) {
            // что-то делать
        }
    }        
}
Answer 2

Первый вариант описан выше, использовать фазу Began. Я в подобном проекте использовал условие if (Input.GetMouseButtonDown(0)). Прекрасно работало и на android девайсах.

READ ALSO
Как определить язык текущей ОС?

Как определить язык текущей ОС?

Хочу сделать программу мультиязычнойМне нужно узнать, какой язык в ОС

240
Как сделать замену отдельных элементов?

Как сделать замену отдельных элементов?

Как сделать так, чтобы по клику на конкретный div, он менялся на textarea и по клику на кнопку (в моем случае "Сохранить"), конкретная textarea менялась...

427
На Wordpress не работаю скрипты

На Wordpress не работаю скрипты

Я сверстал макет, после чего решил его натянуть на cms wordpress, подключил стили и скрипты в functionsphp, подключил все через функции wp_head() и wp_footer()

407
Лучше использовать props или vuex?

Лучше использовать props или vuex?

В проекте подключён vue и vuex

354