ゲーム用にランドスケープ (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」) が移動し、傾けても何も変わらないことがあります。