Android游戏开发之旅(十二)Sensor重力感应(1)

从Android手机 开始,主流的智能机纷纷加入了感应器Sensor硬件,常见的有光线感应器、重力感应器、加速感应器,而更高级的有磁极方向、陀螺仪、距离感应器、温度感应器等等。对于Android游戏 开发 ,我们主要用到重力、加速、磁力和陀螺仪四种,当然部分游戏可能需要GPS 或Cellid定位来修正一些位移信息。从系统 中提高的感应器主要在android .hardware中,我们可以看到系统提供了 android.hardware.SensorEventListener、Sensor和SensorManager这三个类,我们会发现除了可以获取 感应器的信息,和感应器的原始数据 外,并没有提供相关的逻辑处理。Android123将会分3篇来详细的介绍不同感应器的作用和逻辑处理,比如自由落体,晃动,磁极,当前的旋转速度。

未来Android123将完成主要是一个基于OpenGL 3D的雷电游戏,最终加入联网对战效果 可以团队打怪实现手机3D网游充分发挥Android手机的娱乐能力。对于大多数新款Android手机可能没有配备轨迹球或导航键的方向控制,所以重力感应器是这类实时性较强游戏的首选控制方式。主要有以下几点问题对于Sensor

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

2. 感应器的敏感度,在Android中提供了四种延迟级别分别为

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

SENSOR_DELAY_GAME 游戏延迟,一般绝大多数的实时性较高的游戏都使用该级别。
int SENSOR_DELAY_NORMAL 标准延迟,对于一般的益智类或EASY级别的游戏可以使用,但过低的采样率可能对一些赛车类游戏有跳帧现象。
int SENSOR_DELAY_UI 用户界面 延迟,一般对于屏幕 方向自动 旋转使用,相对节省电能和逻辑处理,一般游戏开发中我们不使用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值