2016-09-22 80 views
1

我最初編寫Swift 2的代碼,但是當我升級到Swift 3和Xcode 8時,一些代碼崩潰了。如何使用加速度計並使用Swift 3在Xcode 8中進行校準?使用Swift 3和Xcode 8進行加速度計和校準

我意識到這個問題與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)) 
     } 

回答

0

使用init語法CGVector

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

非常感謝你。它解決了我的問題。 –