Компас

libGDX предоставляет методы для работы с компасом, чтобы определить в игре или приложении текущею ориентацию устройства. Некоторые Android телефоны имеют встроенный датчик магнитного поля, который предоставляет информацию о том, как устройство ориентированно относительно северного магнитного полюса.

В libGDX запрос на доступность компаса с помощью метода isPeripheralAvailable(), работает следующим образом:

boolean compassAvail = Gdx.input.isPeripheralAvailable(Peripheral.Compass);

После того, как вы определили что компас действительно доступен, вы можете опросить ее состояние:

float azimuth = Gdx.input.getAzimuth();
float pitch = Gdx.input.getPitch();
float roll = Gdx.input.getRoll();

Углы даны в градусах. Вот интерпретация этих значений:

  • azimuth: представляет угол ориентации устройства вокруг Z-оси. Положительное направление Z-оси указывает на центр земли.
  • pitch: представляет угол устройства вокруг X-оси. Положительном направлении X-оси. Положительное направление X-оси примерно указывает на запад и ортогонально Z-и Y-оси.
  • roll: представляет угол ориентации устройства вокруг Y-оси. Положительное направление Y-оси указывает на северный магнитный полюс Земли, оставаясь ортогональным двух других осям.

Вот иллюстрация осей относительно Земли.

Иллюстрация осей относительно Земли