Нужно различать Нажатие и Зажатие.Как это сделать?
Нужно чтобы при нажатии выполнялось событие A,а при зажатии - событие B. У меня в коде возникает конфликт между нажатием и зажатием.Поэтому когда происходит зажатие,то событие A тоже происходит.Работаю в юнити, с#, TouchPhase
Нажатие/зажатие можно определять по фазе TouchPhase.Ended.
1. Происходит TouchPhase.Began. Считаем, что это будет нажатие
2. Начинаем считать время.
3. Если прошло больше, чем N, то считаем, что у нас будет зажатие
4. Происходит TouchPhase.Ended
5. Выполняем зажатие или нажатие.
Нажатие/зажатие можно определять по фазе TouchPhase.Ended.
1. Происходит TouchPhase.Began. Считаем, что это будет нажатие
2. Начинаем считать время.
3. Если прошло больше, чем N, то считаем, что у нас будет зажатие
4. Происходит TouchPhase.Ended
5. Выполняем зажатие или нажатие.
теперь у меня не получается зажатие никак
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began)
{
time = time + Time.deltaTime;
}
if (touch.phase == TouchPhase.Ended)
{
if (time > 1.5f)
{
isFlying = false;
}
else
{
isFlying = true;
isFalling = !isFalling;
}
}
}
XDecent, я имел в виду, что у вас time = time + Time.deltaTime; происходит только в момент начала жеста. Где происходит time = 0 и где обрабатывается TouchPhase.Moved и Stationary?