0

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

4

0 に答える 0