Нужно чтобы при нажатии на экран(в любой точке) выполнялась функцияА один раз, пока не нажмешь снова(то есть как в флепибёрд), у меня же при прикосновение на экран он выполняется пока не отпустишь палец.Использовал Input.touchCount>0
Очевидно, что отслеживать лишь то, что имеет место нажатие - недостаточно. Надо еще отслеживать фазу.
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) {
// что-то делать
}
}
}
Первый вариант описан выше, использовать фазу Began. Я в подобном проекте использовал условие if (Input.GetMouseButtonDown(0)). Прекрасно работало и на android девайсах.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей