Some Android devices and iOS devices have an integrated magnetic field sensor that provides information on how the device is oriented with respect to the magnetic north pole. NOTE: The compass is currently not available on iOS devices since there is no implementation in the RoboVM - backend yet. The compass appears to be present with the Intel MOE backend on iOS. Querying whether the compass is available works as follows:

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

    Once you determined that the compass is indeed available, you can poll its state:

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

    The angles are given in degrees. Here’s the interpretation of these values:

    • azimuth is the angle of the device’s orientation around the z-axis. The positive z-axis points towards the earths center.
    • pitch is the angle of the device’s orientation around the x-axis. The positive x-axis roughly points to the west and is orthogonal to the z- and y-axis.
    • roll is the angle of the device’s orientation around the y-axis. The positive y-axis points toward the magnetic north pole of the earth while remaining orthogonal to the other two axes. Here’s an illustration of the axis relative to the earth. Prev | Next