如何检测设备是否指向某个方向?

时间:2017-06-06 13:53:27

标签: ios swift3 accelerometer gyroscope

我正在制作一款游戏,要求用户将设备向下指向,然后在他们面前。如何使用设备的陀螺仪和加速计传感器检测用户何时将设备指向下方或前方?

1 个答案:

答案 0 :(得分:0)

您可以将CoreMotion与Accelerometer配合使用。试试这个:

import Foundation
import CoreMotion

class CoreViewController: UIViewController {
let motionManager = CMMotionManager()

override func viewDidLoad() {
    super.viewDidLoad()

    motionManager.deviceMotionUpdateInterval = 0.01
    motionManager.startDeviceMotionUpdates(to: OperationQueue.current!) 
    { deviceManager, error in
        print(deviceManager?.userAcceleration.z)
        print("Test") // no print
    }

    print(motionManager.isDeviceMotionActive) // print false
    }
}

检查Z加速度中的值。如果是肯定的,则意味着您的手机正面朝下。我没有设备在模拟器上进行测试。检查Z的正值或负值以确认。 编辑:使用Swift代码更新。