我试图检测iPhone的整个左侧何时被碰撞。这就是我到目前为止所拥有的:
let manager = CMMotionManager()
override func viewDidLoad() {
super.viewDidLoad()
if manager.deviceMotionAvailable {
manager.deviceMotionUpdateInterval = 0.02
manager.startDeviceMotionUpdatesToQueue(NSOperationQueue.mainQueue()) {
[weak self] (data: CMDeviceMotion!, error: NSError!) in
if data.userAcceleration.x > 2 {
// Perform action
}
}
}
}
只要我撞到手机的左上角,上面的代码就可以正常工作。但是,如果我尝试将整个手机直接撞到左边的直线上,那么它很少会起作用。我在这里找不到什么东西?
谢谢!
答案 0 :(得分:2)
if data.userAcceleration.x > 2 {
// Perform action
}
制作2,比如1.5或更小,因为2需要非常快的加速度。