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

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



手机屏幕向上(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:


运行效果:

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


源码下载


更多相关文章

  1. kxte9应用局限
  2. Android(安卓)API Guides---Motion Sensors
  3. android中屏幕适配的方式
  4. Android重力感应Demo
  5. android 重力感应手机方向
  6. Android感应检测Sensor
  7. Android之传感器(三)加速度
  8. opencv在android预览上实现灰化/感应触屏/边缘检测(3)
  9. Android重力传感器实现滚动的弹球

随机推荐

  1. Android用户界面UI组件--AdapterView及其
  2. Android界面布局之gravity
  3. Android-- gravity、layout_gravity、pad
  4. Android系统自带样式(@android:style/)
  5. Android(安卓)ImageView类
  6. Android(安卓)OpenGL ES 开发教程 从入门
  7. [android]控件CheckBox/RadioGroup/Radio
  8. Android(安卓)(layout_toLeftOf,layout_t
  9. ANDROID:控件属性(很全)
  10. 详解Android中Drawable方法