2012-05-01 5 views
0

Я делаю простую прокрутку прокрутки для Android, где пользователь должен уклоняться от препятствий, которые попадают туда, в настоящее время пользователь забирает экран, чтобы прыгать, и это подхвачено методом onTouchEvent(), проблема если пользователь повторно нажимает на экран, символ перескакивает вверх и вниз, а затем повторяет это за количество раз, когда пользователь нажал, что я не буду делать, так это сделать так, чтобы приложение принимало только первого пользователя краны. Какие-либо предложения?Ограничитель подключений для Android

ответ

0

Просто создайте управляемый флаг до тех пор, пока не закончится полное событие, а затем разрешите ввод снова.

ie.

bool beingHandled = false; 
onTouch(){ 
    if (beingHandled) 
    return; 
    beingHandled = true; 
    //code .... /// 
    beingHandled = false; 
} 
2

При считывании крана устанавливается флаг, показывающий ответ отклика (переход). Пока условие флага истинно, принимайте события крана и отбрасывайте их. Когда вы будете готовы к другому прыжку, снимите флаг. Самый простой способ - это, вероятно, сохранить системное время и просто знать продолжительность прыжка. Но вы можете использовать и другой критерий, например, например, до конца анимации перехода.

+0

Я пробовал это, но это не так кажется, что работает, флаг устанавливается в единицу, когда начинается прыжок и устанавливается на ноль, когда он заканчивается, но проблема все еще пуристов. –

0

Поддерживает статическую переменную в методе onTouchEvent(), которая отслеживает последнее нажатие и вызывает только функцию characterJump(), если прошло достаточно времени. Вы можете даже использовать пару переменных ... время с момента последнего вызова characterJump(), а также время с момента последнего события касания, чтобы разрешить скачок после нескольких нажатий, если они продолжатся

Смежные вопросы