手机重力感应实现简单介绍

           现在有很多游戏是通过摇晃手机实现的,比如赛车游戏 摇骰子游戏 迷宫游戏 等等 。 今天我用简单的代码为大家介绍一下android 下重力感应的实现方式 下面是一个模拟器的屏幕  Y轴 以屏幕的左下方为原点 ,向上为正 向下为负数(刚好和编程时坐标是相反的 向下为正 向上为负数)。从-10到10。 X轴 以屏幕左下方为原点 向左为正 向右为负数取值范围从-10到10 。 Z轴 朝天就是正数 朝地就是负数数取值范围从-10到10 。由此可见重力感应的取值范围都是在 -10 到10之间的 我们就可以根据这个数字算出 速度 加速度 等等。

下面我介绍一下代码的实现方式

    private SensorManager sensorMgr;  Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);   //保存上一次 x y z 的坐标float bx = 0;float by = 0;float bz = 0;long btime = 0;//这一次的时间 sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);   SensorEventListener lsn = new SensorEventListener() {   public void onSensorChanged(SensorEvent e) {   float x = e.values[SensorManager.DATA_X];      float y = e.values[SensorManager.DATA_Y];      float z = e.values[SensorManager.DATA_Z];  //在这里我们可以计算出 X Y Z的数值 下面我们就可以根据这个数值来计算摇晃的速度了 //我想大家应该都知道计算速度的公事 速度 = 路程/时间//X轴的速度float speadX = (x - bx) / (System.currentTimeMillis() - btime); //y轴的速度float speadY = (y - by) / (System.currentTimeMillis() - btime); //z轴的速度float speadZ = (z - bz) / (System.currentTimeMillis() - btime); //这样简单的速度就可以计算出来 如果你想计算加速度 也可以 在运动学里,加速度a与速度,//位移都有关系:Vt=V0+at,S=V0*t+1/2at^2, S=(Vt^2-V0^2)/(2a),根据这些信息也可以求解a。 //这里就不详细介绍了 公事 应该初中物理课老师就教了呵呵~~bx = x;by = y;bz = z;btime = System.currentTimeMillis();}   public void onAccuracyChanged(Sensor s, int accuracy) {   }   };   // 注册listener,第三个参数是检测的精确度sensorMgr.registerListener(lsn, sensor, SensorManager.SENSOR_DELAY_GAME);

Android 手机重力感应实现简单介绍相关推荐

  1. android手机重力感应例子

    手机重力感应实现简单介绍 现在有很多游戏是通过摇晃手机实现的,比如赛车游戏 摇骰子游戏 迷宫游戏 等等 . 今天我用简单的代码为大家介绍一下android 下重力感应的实现方式 下面是一个模拟器的屏幕 ...

  2. 重力感应G-Sensor 简单介绍

    以屏幕的左下方为原点(2d编程的时候,是以屏幕左上方为原点的,这个值得注意一下),箭头指向的方向为正.从-10到10,以浮点数为等级单位,想象一下以下情形: 手机屏幕向上(z轴朝天)水平放置的时侯,( ...

  3. android修改重力感应方向

    在这里简要的为大家介绍一下我曾经改过android手机重力感应的一点知识... 首先,大家要android手机重力感应,那么必须得有你自己机器的源代码吧, 开始在网上找到蛮多资料,但是按其所说并不能实 ...

  4. android 自定义录像机,android 手机录屏,最简单的 3 种方法

    原标题:android 手机录屏,最简单的 3 种方法 公众号文章不支持插入外链,下面提到的所有工具,都可点击 阅读原文前往我的个人网站 kejiweixun.com 下载. 安卓手机录制屏幕有很多方 ...

  5. linux屏幕旋转后触控不准,手机重力感应失效解决方法 不能自动旋转屏幕怎么设置...

    如今手机已经成为人们生活中必不可少的一个工具了,在使用过程也常常会遇到各种各样的问题,比如当手机重力感应失效的时候应该怎么解决呢,手机不能自动旋转屏幕要怎么设置,针对这个问题下面就为大家带来最新解决方 ...

  6. Android AccountManager 账户同步管理简单介绍

    Android AccountManager 账户同步管理简单介绍 文章目录 Android AccountManager 账户同步管理简单介绍 前言 AccountManager 简介 如何让自己的 ...

  7. php重力传感器,HTML5中如何调用手机重力感应的接口

    刚刚过去的一年里基于微信的H5营销可谓是十分火爆,通过转发朋友圈带来的病毒式传播效果相信大家都不太陌生吧,刚好最近农历新年将至,我就拿一个"摇签"的小例子来谈一谈HTML5中如何调 ...

  8. android 利用重力感应监听 来电时翻转手机后静音。

       在CallNotifier.java中 加入如下代码: public void GetSensorManager(Context context) {sm = (SensorManager) c ...

  9. Android 之重力感应

    Android系统支持重力感应,可以利用手机的移动.翻转来实现更为有趣的程序,在这里介绍一种在模拟器上模拟重力感应的工具(sersorsimulator), 这个工具分为服务器端和客户端,服务器是一个 ...

最新文章

  1. OpenCV中的特征匹配+单应性以查找对象
  2. 用DCGAN训练并生成自己的图像集(含tensorflow代码)
  3. 兴义智力象机器人_兴义向阳路小学在第十八届全国青少年机器人竞赛贵州区选拔赛夺冠...
  4. 掌握 React 与 React Native
  5. 算法训练营 重编码_编码训练营后十四天如何找到工作
  6. SPOJ QTree【树链剖分】
  7. python while快速写法_从零开始学Python,带你手把手实战之一
  8. 公差与配合查询计算过程讲解
  9. 数据库开发工程师岗位职责and技能要求
  10. 消息中间件MQ与RabbitMQ
  11. 如何在手机设置中打开位置定位服务器,手机gps定位功能如何设置
  12. 首行缩进字符计算机怎么弄,首行缩进2字符如何设置
  13. easyUI打开tab页面
  14. 电脑艺术设计是否属计算机专业,电脑艺术设计属于计算机专业吗
  15. 曾经的最爱-----暗黑破坏神zz
  16. Opera无法打开网页的解决办法
  17. 用python做自动化控制-用 Python 自动化办公能做到哪些有趣或有用的事情?
  18. vim打开文件跳转到上次编辑的位置
  19. 在线快速提取QQ群成员的QQ号码方法(无需软件操作)
  20. 通过css让鼠标变小手样式

热门文章

  1. 帝国cms目录结构介绍
  2. echarts loading加载页工具栏
  3. win11找不到兼容性设置怎么解决
  4. 互联网早报:微信发布新版本:青少年模式上线“监护人授权”功能
  5. 雪鹰领主服务器维护,《雪鹰领主》2月3日部分服务器数据互通公告
  6. Memory和Storage有什么区别?
  7. A17再次证明苹果才是王者,组装芯片的安卓手机给它提鞋都不配
  8. 脑洞一下,「饿了么奖励金功能」所能达到的效果
  9. 计算机图片查看方式,Win10系统如何查看图片显示形式?查看的方法
  10. csgo怎么控制电脑玩家_保亭电脑温度控制箱,管道电加热器怎么样方案