libgdx 处理加速传感器

libgdx 已经对Android加速传感器做了封装,使得用起来非常方便。

一,关于开启和关闭加速传感器
默认地,libgdx开启了加速传感器,因此程序中可以直接获取。那如何控制加速传感器的开启和关闭呢?
对于Android应用来说,都会在初始化时传入一个 AndroidApplicationConfiguration 的实例,而该实例就设置了很多配置项,其中就包括加速传感器的开关配置。
如下面,就将加速传感器显示关闭了:
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.useGL20 = false;
cfg.useAccelerometer = false;
initialize(new MyGdxGame(), cfg);

二,获取加速传感器值
当开启加速传感器后,在程序中就可以获取其值,这是通过利用 Gdx.input 接口的几个方法获得,如下:
accelX = Gdx.input.getAccelerometerX();
上面就是获取x方向的加速传感器值,y和z轴方向的类似。
在libgdx中,加速度值的范围为 :[-10, 10]。
在使用时要注意:
1)x轴,当手机向左时,即手机逆时针旋转方向,此时x轴加速度为正值,反之则为负值。这与直观上有点差距。

三,加速值的使用
加速度不是速度,因此在实际使用时,要合理的运用。
一般地,我们可能需要将加速度值转为其他更感性的值,如偏移量等。
比如现在获取到 x轴加速值为 accelX,想计算其引起的偏移,则一般可以如下计算,
偏移= -accelX * 系数 * Gdx.graphics.getDeltaTime()
注意上面等号右边有一个负号。
关于系数,这个需要自己根据实际情况进行调试。

你可能感兴趣的:(游戏,传感器,libgdx)