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