Вторник, 2024-03-19, 9:11 AM

Поиск
Меню
Категории раздела
Поддержи проект!
Рекомендуем


Работа с устройствами ввода и манипуляторами

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

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

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

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

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