我一直在四处寻找,找到一个有效的方法来解决这个问题。
如何使用Swift中的加速度计移动圆形节点。我需要它向左,向右,向上和向下移动,因此当设备倾斜时,X和Y坐标需要改变。
我在网上尝试了很多方法而且他们没有工作,他们只是以一种方式移动圆圈或者圆圈走错了等等。
提前致谢!
答案 0 :(得分:0)
var manager = CMMotionManager()
var destX:CGFloat = 0.0
Player.position = CGPointMake(self.size.width/2, self.size.height/6.5)
self.addChild(Player)
manager.startAccelerometerUpdates()
manager.accelerometerUpdateInterval = 0.1
manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()){
(data, error) in
let currentX = self.Player.position.x
if data!.acceleration.x < 0 {
self.destX = currentX + CGFloat(data!.acceleration.x * 1000)
}
else if data!.acceleration.x > 0 {
self.destX = currentX + CGFloat(data!.acceleration.x * 1000)
}
}
let action = SKAction.moveToX(self.destX, duration: 0.5)
self.Player.runAction(action)
只需对y使用相同的代码。如果您有任何问题,请告诉我们!