gpt4 book ai didi

swift - Swift 类示例中是否有 Google Cardboard 磁性传感器触发器?

转载 作者:行者123 更新时间:2023-11-30 13:50:38 25 4
gpt4 key购买 nike

没有找到任何关于如何使用 Swift 在线触发磁传感器的示例,因此我在这里发布一个示例,因为我自己创建了一个示例。

这是在 iPhone 6 上测试的。

最佳答案

这是我写的一个简单的触发器类。看起来效果很好。磁铁数据的监听器。

用法:

let magnetListener = VRMagnetSensor()
magnetListener.callback = { type in
// will print MAGNETIC SENSOR REPORTED onPress
print("MAGNETIC SENSOR REPORTED \(type)")
}

还有类 — VRMagnetSensor.swift

import Foundation
import CoreMotion

public class VRMagnetSensor {

let manager = CMMotionManager()
var previousMagnetData = ( x:0.0, y:0.0, z:0.0 )
var callback:((type:String) ->())?

init() {

if manager.magnetometerAvailable && !manager.magnetometerActive {

let sensorInterval = NSTimeInterval(0.5)
manager.magnetometerUpdateInterval = sensorInterval
manager.startMagnetometerUpdatesToQueue(NSOperationQueue.mainQueue(), withHandler: {
(data, error) in

let field = data!.magneticField

print("MAGNETIC DATA x \(field.x) y \(field.y) z \(field.z)")

if(field.x < self.previousMagnetData.x-30 && self.previousMagnetData.x != -0.0) {
dispatch_async(dispatch_get_main_queue()) {
self.callback!(type:"onPress")
}
}
self.previousMagnetData = ( x:field.x, y:field.y, z:field.z )
})
}
}
}

关于swift - Swift 类示例中是否有 Google Cardboard 磁性传感器触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34333062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com