【发布时间】:2017-06-06 13:53:27
【问题描述】:
我正在构建一个游戏,它要求用户将他们的设备指向下方,然后指向他们的前方。如何使用设备的陀螺仪和加速度计传感器检测用户何时将设备指向下方或前方?
【问题讨论】:
标签: ios swift3 accelerometer gyroscope
我正在构建一个游戏,它要求用户将他们的设备指向下方,然后指向他们的前方。如何使用设备的陀螺仪和加速度计传感器检测用户何时将设备指向下方或前方?
【问题讨论】:
标签: ios swift3 accelerometer gyroscope
您可以将 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 代码更新。
【讨论】: