如何获取陀螺仪LibGdx的最大值

时间:2018-08-06 12:13:13

标签: java android libgdx

我正在编写一个使用陀螺仪的Android游戏,我需要获取最大的陀螺仪值。


我知道如何获得陀螺仪的值。 我需要采用尽可能大的陀螺仪Z值,因为每个电话都具有不同的陀螺仪和陀螺仪的最大值。

2 个答案:

答案 0 :(得分:0)

您可以在活动或特定班级中implement a SensorEventListener

然后,您可以从实例化SensorManager的陀螺仪中获取值

SensorManager sensorManager;
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

然后设置一个SensorSensor。TYPE_GYROSCOPE

Sensor gyroscope;
gyroscope = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);

并覆盖这两种方法

@Override
public void onSensorChanged(SensorEvent event) {
    // Here you get values from the gyroscope
    if (event.sensor == gyroscope) {
        double accX = event.values[0];
        double accY = event.values[1];
        double accZ = event.values[2];
    }
}

@Override
public void onAccuracyChanged(Sensor sensor, int i) {

}

有关更具体的参考,请参见:Android motion Sensors

P.S。 不要忘记检查传感器是否为!= null

答案 1 :(得分:0)

libgdx中没有方法可以让您获得加速度计的最大值,因为它们是基于硬件的,并且没有API存在。

this answer看来,典型值是+/- 2G