Swift noob在这里请耐心等待我!
我一直在按照教程将动作实现到我的SpriteKit(Swift 3)游戏中。我有以下代码:
class GameScene: SKScene {
let player = SKSpriteNode(imageNamed: "Airplane")
override func didMove(to view: SKView) {
backgroundColor = SKColor.white
player.position = CGPoint(x: size.width * 0.1, y: size.height * 0.5)
addChild(player)
if motionManager.isAccelerometerAvailable == true {
motionManager.startAccelerometerUpdates(to: OperationQueue.currentQueue(), withHandler:{
data, error in
var currentX = self.player.position.x
// 3
if data.acceleration.x < 0 {
self.destX = currentX + CGFloat(data.acceleration.x * 100)
}
else if data.acceleration.x > 0 {
self.destX = currentX + CGFloat(data.acceleration.x * 100)
}
})
}
}
}
我在startAccelerometerUpdates行上遇到与操作队列有关的错误:
'Call value of non-function type OperationQueue'
我已经尝试了几种方法来做这个并一直在寻找它,我是否错过了明显的?
答案 0 :(得分:3)
尝试
OperationQueue.current
而不是
OperationQueue.currentQueue()
Apple为Swift 3做了很多这些改变。