加速度计输入滞后

时间:2017-06-10 18:12:49

标签: swift sprite-kit accelerometer

我使用我的加速度计作为我游戏的转向控制器。 iphone的倾斜确定精灵是否具有正,负或零速度。问题是经过几次经历后我开始注意到严重的输入滞后。我的船舶速度在帧更新功能中被修改。我在它之前添加了一个打印声明,并发现可能需要几秒钟才能更改速度以匹配iphone倾斜。这让游戏感觉非常笨重。为什么会这样?

if motionManager.isAccelerometerAvailable == true {
            motionManager.startAccelerometerUpdates(to: OperationQueue.current!, withHandler:{
                data, error in
                if (data!.acceleration.y) < -0.05 {
                    self.velocity = -500
                }

                else if data!.acceleration.y > 0.05 {
                    self.velocity = 500
             }
                else{
                    self.velocity = 0
                }

            })

        }


override func update(_ currentTime: CFTimeInterval) {
    moveBG()
    removeBullets()
    print(velocity)
    self.ship.physicsBody?.velocity.dx = velocity
}

1 个答案:

答案 0 :(得分:0)

输入延迟是由于我没有为我的运动管理器设置加速度计更新间隔。将值设置为0.1可以消除我的问题并提供流畅的游戏性