【发布时间】:2026-02-04 18:30:02
【问题描述】:
我正在使用 Sprite Kit 构建一个简单的游戏,屏幕没有旋转,但我想知道用户握住手机的角度以获取游戏机制。
使用加速度计 (x, y) 可以轻松检索我想要获取的值,但我发现这不可靠,因此我尝试使用 CMDeviceMotion 存档更好的结果。我可以得到与data.acceleration.y 等效的值,但我不知道如何得到与data.acceleration.x 等效的值。
if let data = motionManager.accelerometerData? {
let y = CGFloat(data.acceleration.y)
let x = CGFloat(data.acceleration.x)
}
// Device Motion
if let attitude = motionManager.deviceMotion?.attitude? {
let y = CGFloat(-attitude.pitch * 2 / M_PI) // This matches closely with data.acceleration.y
let x = ??????????
}
如何使用CMDeviceMotion 计算与data.acceleration.x 的等效值?
【问题讨论】:
-
你要的不是旋转,而是陀螺仪API,developer.apple.com/library/ios/documentation/coremotion/…
标签: ios swift accelerometer gyroscope cmmotionmanager