G-sensor(1)

G-sensor(1)

2011-03-18 22:26:57|  分类: Android 学习总结 |  标签: |字号 订阅

最近的工作是调平板电脑G-sensor相关程序,使之能在四个方向转屏的基础上还能玩各种重力感应游戏。现在的状态是有重力感应游戏A和B,本来是A重力向下B重力“向上”,改了之后是B重力向下A重力“向上”。而在windowOrientationListener.java中的OnSensorChanged()中获取XYZ坐标已经在中间层Sensor.c中调到对应的值(使转屏的功能正常)。

后来在一篇参考文章中看到 Android传感器类型分为:方向、加速表、光线、磁场、临近性、温度等

程序中分别为:

方向: SensorManager.SENSOR_ORIENTATION,

加速表: SensorManager.SENSOR_ACCELEROMETER

光线: SensorManager.SENSOR_LIGHT

磁场: SensorManager.SENSOR_MAGNETIC_FIELD

临近性: SensorManager.SENSOR_PROXIMITY

温度: SensorManager.SENSOR_TEMPERATURE

采样率:最快、游戏、普通、用户界面。当应用程序请求特定的采样率时,其实只是对Android传感器子系统的一个提示,或者一个建议。不保证特定的采样率可用。

最快: SensorManager.SENSOR_DELAY_FASTEST

游戏: SensorManager.SENSOR_DELAY_GAME

普通: SensorManager.SENSOR_DELAY_NORMAL

用户界面: SensorManager.SENSOR_DELAY_UI

准确性: 高、低、中、不可靠。

 

而之所以会出现重力向上的问题可能是由于没有方向传感器的原因。

 

PS:加速度和磁场传感器一起可以实现方向传感器

Orientation Sensor三个坐标的含义:

values[0]:方位角(水平旋转角),简单的说就是手机的头现在朝向哪个方位,0=北、90=东、180=南、270=西(可是好像不太准)

values[1]:纵向旋转角,0=面朝上平置、-90=垂直向上、-180/180=面朝下平置、90=垂直向下

values[2]:橫向旋转角,0=朝前、90=往右倒、-90=往左倒


http://hnwwff.blog.163.com/blog/static/3216909220112189572686/


你可能感兴趣的:(游戏,android,UI,工作,手机,delay)