我最初编写了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))
}
答案 0 :(得分:0)
使用CGVector
的初始化语法:
self.physicsWorld.gravity = CGVector(dx: CGFloat((data?.acceleration.x)! * 10), dy: CGFloat((data?.acceleration.y)! * 10))