我正在编写一款使用陀螺仪的Android游戏,我需要获得尽可能大的陀螺仪值。
我知道如何获得陀螺仪值。我需要取最大的陀螺仪Z值,因为每个电话都有不同的陀螺仪和不同的陀螺仪最大值。
您可以在活动中或特定类中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运动传感器
p.S。不要忘记检查传感器是否为!= null
libgdx中没有任何方法可以让您获得加速度计的最大值,因为它们是基于硬件的,并且不存在API AFIAK。
从这个答案看来,典型值是+/-2G