Устройства ввода и манипуляторы

Различные платформы имеют различные средства ввода. На компьютере пользователи могут общаться с приложением через использование клавиатуры и мыши. То же самое верно для игр в браузере. Мышь на Android мыши заменяет сенсорный экран, а аппаратная клавиатура часто отсутствует. Все (совместимые) Android устройства также имеют акселерометр и иногда даже компас (датчик магнитного поля).

libGDX абстрагирует все эти различные устройства ввода. Мышь и сенсорный экран рассматриваются как одинаковые устройства, при этом мышь не поддерживает все возможности мультитач экрана (она сообщает только об одном нажатии), а мультитач экран не поддерживает кнопки (он сообщает только о нажатии левой кнопки).

В зависимости от устройства ввода, в libGDX можно либо опрашивать периодически состояние устройства, либо зарегистрировать обработчик, который будет получать события ввода в хронологическом порядке. Опрашивать состояние устройства является достаточным для многих аркадных игр, например, аналоговые устройства запаздывают, если имеется пользовательский интерфейс с кнопками, потому что они откликаются на последовательность событий, таких как нажатие и отпускание.

Все устройства ввода в libGDX доступны с помощью Input модуля.

// Проверка нажата ли клавиша 'A'
boolean isPressed = Gdx.input.isKeyPressed(Keys.A);