LibGDX InputAdapter touchDown/touchUp проблема - необходимо зарегистрировать TouchUp как минимум 1 секунду, чтобы TouchUp зарегистрировался
Я создал свою собственную кнопку в LibGDX, которая расширяет класс InputAdapter. Я переопределяю методы touchDown и touchUp. Событие запускается при срабатывании события touchUp, т. Е. При смене экрана и т. Д. При использовании события touchUp все работает как положено. При использовании события приземления (в настоящее время ничего не происходит, просто срабатывает) требуется, чтобы кнопка была нажата не менее 1 секунды, прежде чем событие touchUp сработает, когда я подниму палец, в противном случае событие touchUp не сработает. Любые идеи относительно того, почему это происходит или как это исправить?
1 ответ
Touch_up запускается, если событие Touch_Down вернуло true, вы обрабатываете что-то внутри touch_down? Если на обработку уходит больше времени, чем на нажатие кнопки, то touch_down не вернул бы true и не запустил его, я рекомендую поместить вашу игровую логику вне процессоров ввода, как вы можете видеть в InputListener JavaDoc:
void touchUp(InputEvent event, float x, float y, int pointer, int button)
Вызывается, когда нажатие кнопки мыши или касания пальцем происходит в любом месте, но только если touchDown ранее вернул true для кнопки мыши или касания.