我正在使用横向加速度计(iPhone 5s)进行游戏,但看起来它不是100%稳定,或者我做错了什么..
这就是我使用它的方式:
var motionManager = CMMotionManager()
override func didMoveToView(view: SKView) {
if motionManager.accelerometerAvailable == true {
// 2
motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.currentQueue(), withHandler:{
data, error in
var currentX = self.hond.position.x
// 3
var datay2 = Double()
if data.acceleration.y < 0.02 {
if data.acceleration.y < -0.35{
datay2 = -0.35
}
else{
datay2 = data.acceleration.y
}
self.destX = currentX - 0.09 * CGFloat(datay2 * 100)
}
else if data.acceleration.y > 0.02 {
if data.acceleration.y > 0.35{
datay2 = 0.35
}
else{
datay2 = data.acceleration.y
}
self.destX = currentX - 0.09 * CGFloat(datay2 * 100)
}
})
}
}
override func update(currentTime: CFTimeInterval) {
hond.position.x = destX
}
我使用它吗?可能是意外运动的原因是什么?有时当我倾斜设备时没有任何反应,有时玩家(“hond”)会在我不倾斜设备时移动并且倾斜不会改变任何东西..