技術と本について書くブログ

技術と本について書くblog。技術メモなど雑記を書いているblog。

CoreMotionを使っての回転判定

import CoreMotion
let manager = CMMotionManager()

override func viewDidLoad() {
        //取得の間隔
        manager.accelerometerUpdateInterval = 0.01
        
        manager.startAccelerometerUpdates(to: OperationQueue.current!, withHandler:
            { (data, error) in
                self.getOrientation( x:(data?.acceleration.x)!, y:(data?.acceleration.y)! )
        })
}
    func getOrientation(x: Double, y: Double) {
        var transRotate = CGAffineTransform()
        if (fabs(x) < 0.5) {
            if (y < 0) {
                print("down")
                
            } else {
                print("up")
            }
        } else {
            if (x < 0) { // up
                print("left")
            } else { //down
                print("right")
                
            }
        }
    }