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 для кнопки мыши или касания.

Другие вопросы по тегам