我将加速度计用作游戏的转向控制。 iphone 的倾斜度决定了 Sprite 的速度是正速度、负速度还是零速度。问题是在经历了几次之后我开始注意到严重的输入滞后。我的船速度在帧更新功能中被修改。我在它之前添加了一个打印语句,发现它可能需要几秒钟的时间才能改变速度以匹配 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.1 可以解决我的问题并提供流畅的游戏体验
关于swift - 加速度计输入滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44476559/