Android重力感应示例

android中的很多游戏的游戏都使用了重力感应的技术,就研究了一下重力感应

以屏幕的左下方为原点,箭头指向的方向为正。从-10到10,以浮点数为等级单位,想象以下情形:


 Android重力感应示例


手机屏幕向上(z轴朝天)水平放置的时侯,(x,y,z)的值分别为(0,0,10);

手机屏幕向下(z轴朝地)水平放置的时侯,(x,y,z)的值分别为(0,0,-10);

手机屏幕向左侧放(x轴朝天)的时候,(x,y,z)的值分别为(10,0,0);

手机竖直(y轴朝天)向上的时候,(x,y,z)的值分别为(0,10,0);

其他的如此类推,规律就是:朝天的就是正数,朝地的就是负数。

利用x,y,z三个值求三角函数,就可以精确检测手机的运动状态了。


代码实例:

AndroidManifest.xml

<uses-permission android:name="android.hardware.sensor.accelerometer"/>


代码很简单,直接看源码,最后提供了源码下载

Java Code:


运行效果:

Android重力感应示例

注明:这是在模拟器上截图(SDK  V1.5), 由于模拟器无法感应重力,请大家在物理机上测试


源码下载


 

你可能感兴趣的:(android)