我使用我的加速度计作为我游戏的转向控制器。 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
}
答案 0 :(得分:0)
输入延迟是由于我没有为我的运动管理器设置加速度计更新间隔。将值设置为0.1可以消除我的问题并提供流畅的游戏性