使用加速度计和校准与Swift 3和Xcode 8

时间:2016-09-22 00:38:36

标签: ios swift xcode

我最初编写了Swift 2的代码,然而,当我升级到Swift 3和Xcode 8时,一些代码破了。如何使用加速度计并在Xcode 8中使用Swift 3进行校准?

我意识到问题出在CGVectorMake上 - 它说它在Swift中不可用。用什么来替换它?

import SpriteKit
import GameplayKit
import CoreMotion

class GameScene: SKScene {
    let Manager = CMMotionManager()
    var bg = SKSpriteNode()

    override func didMove(to view: SKView) {

        Manager.startAccelerometerUpdates()
        Manager.accelerometerUpdateInterval = 0.1
        Manager.startAccelerometerUpdates(to: OperationQueue.main){
                (data, error) in

            self.physicsWorld.gravity = CGVectorMake (CGFloat((data?.acceleration.x)! * 10), CGFloat((data?.acceleration.y)! * 10))
        }

1 个答案:

答案 0 :(得分:0)

使用CGVector的初始化语法:

self.physicsWorld.gravity = CGVector(dx: CGFloat((data?.acceleration.x)! * 10), dy: CGFloat((data?.acceleration.y)! * 10))