展会信息港展会大全

Android开发之Sensor重力感应
来源:互联网   发布日期:2016-01-19 12:01:55   浏览:2965次  

导读:现在众多智能手机都加入了Sensor感应器硬件,一般比较常见的有重力感应器、加速度感应器和光线感应器,还有些手机加入了更高级的陀螺仪、温度感应 器、距离感应器、磁极方向等。在Android游戏开发中,主要用的有 ...

现在众多智能手机都加入了Sensor感应器硬件,一般比较常见的有重力感应器、加速度感应器和光线感应器,还有些手机加入了更高级的陀螺仪、温度感应 器、距离感应器、磁极方向等。在Android游戏开发中,主要用的有四种:重力、加速度、磁力和陀螺仪,一些游戏可能还会用到GPS或Cellid定位 来修正一些位移信息。

Android系统提供的感应器主要包含在android.hardware中,可以看到有 android.hardware.SensorEventListener、Sensor和SensorManager这三个类,而我们发现它们能做的 除了能够获取感应器的信息和一些原始数据外,并没有提供相关的逻辑处理。本教程后面将详细介绍不同感应器的作用和逻辑处理,例如晃动、磁极、旋转速度或自 由落体。

很多Android手机可能没有配备轨迹球或导航键的方向控制,所以重力感应器是这类实时性较强游戏的首选控制方式。对于Sensor感应器主要有 以下几点问题:

1. 降噪处理。

如果做过LBS软件的大家可能明白偏移修正,在GPS无法正常获取数据较间断时地图不能乱飘,这里Sensor也不例外,除了使用采样数据平均值获 取外,可以间隔采样的方法来处理。细节的算法我们将在下节给出示例代码。

2. Sensor感应器的敏感度。

在Android中提供了四种延迟级别分别为:

SENSOR_DELAY_FASTEST:最低延迟,一般不是特别敏感的处理不推荐使用,该种模式可能造成手机电力大量消耗,由于传递的为原始数 据,算法不处理好将会影响游戏逻辑和UI的性能,所以Android开发网不推荐大家使用。

SENSOR_DELAY_GAME:游戏延迟,一般绝大多数的实时性较高的游戏都使用该级别

int SENSOR_DELAY_NORMAL:标准延迟,对于一般的益智类或EASY级别的游戏可以使用,但过低的采样率可能对一些赛车类游戏有跳帧现象。

int SENSOR_DELAY_UI:用户界面延迟,一般对于屏幕方向自动旋转使用,相对节省电能和逻辑处理,一般游戏开发中我们不使用。

赞助本站

人工智能实验室

相关热词: 重力感应 Sensor

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港