我在横向(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”)会移动并且倾斜不会改变任何东西..