一些Android设备和iOS设备有一个集成的磁场传感器,提供有关器件获取北极方向的信息。
注意:目前在iOS设备上无法使用罗盘,因为RoboVM - 后端尚未实现。 该指南针似乎与iOS上的英特尔MOE后端一起存在。
使用以下代码可以查询罗盘是否可用:
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轴大致指向西,并与z轴和y轴正交。
- roll(卷)是设备围绕y轴的方向的角度。 正y轴正向指向地球的磁北极,同时保持与其他两个轴正交。
以下是相对于地球的轴的说明: