探索iOS设备的加速度计与定位功能
1. 加速度计与手势识别
加速度计除了用于测量重力和力之外,随着平台的成熟,利用其测量三维手势将成为其最佳(也是最常见)的用途之一。三维手势是iPhone或iPad内置加速度计带来的炫酷功能之一,它使用户无需触摸(甚至无需看)屏幕就能操作程序。
要识别一个手势,需要做两件事:
1. 准确跟踪构成手势的动作。
2. 确保不会将无意的随机动作识别为手势。
以识别摇晃手势为例,摇晃定义为设备快速来回晃动,类似于掷骰子前的动作。在竖屏模式下,摇晃主要有以下特征:
- 运动主要沿x轴,有少量沿y轴,沿z轴的运动更少。
- 至少有三个运动峰值,且正负力交替。
- 所有峰值至少为 +/-1 g,对于较强的摇晃,至少有一个峰值为 +/-2 g。
以下是用于检测摇晃的代码:
- (BOOL)didShake:(UIAcceleration *)acceleration {
accelX = ((acceleration.x * kFilteringFactor)
+ (accelX * (1 - kFilteringFactor)));
float moveX = acceleration.x - accelX;
accelY = ((acceleration.x * kFilteringFactor)
+ (accelY * (1 - kFilteringFactor)));
float moveY
超级会员免费看
订阅专栏 解锁全文
1428

被折叠的 条评论
为什么被折叠?



