Lin*_*int 21 iphone xcode objective-c core-motion
我需要检测陀螺仪/加速度计何时被激活一定量.基本上是检测设备何时移动.我对Core Motion一无所知.
也许有人可以指导我参加初学者教程或其他什么.
提前致谢.
Kay*_*Kay 35
我认为你必须使用Core Motion.好消息是,对您的问题域使用并不困难.开始阅读" 事件处理指南",尤其是"处理已处理设备 - 运动数据"部分.如果你是在明知只是有兴趣的是轻微的运动作出,如你所说,你可以省略旋转处理和窄信号处理上CMDeviceMotion.userAcceleration.这是因为每次旋转都会产生加速度计信号.
创建一个CMDeviceMotionHandler,如startDeviceMotionUpdatesToQueue:withHandler中所述: 您的CMDeviceMotionHandler应该执行以下操作:
float accelerationThreshold = 0.2; // or whatever is appropriate - play around with different values
CMAcceleration userAcceleration = deviceMotion.userAcceleration;
if (fabs(userAcceleration.x) > accelerationThreshold)
|| fabs(userAcceleration.y) > accelerationThreshold
|| fabs(userAcceleration.z) > accelerationThreshold) {
// enter code here
}
Run Code Online (Sandbox Code Playgroud)
基本上就是这样.请记住,每次加速都会有一个对应物.这意味着,如果您施加一个力来向右移动(即加速)设备,则会有一个用于减速的对应物来停止运动并让设备停留在新位置.因此if
,对于每一个动作,你的条件将变为真实两倍.
归档时间: |
|
查看次数: |
24898 次 |
最近记录: |