我目前正在使用 lwjgl 制作基于图块的 2D 平台游戏。我有一个角色可以在地图上到处奔跑和跳跃。移动窗口时遇到了一个奇怪的问题。当我移动窗口时,游戏会冻结,这没什么大不了的,因为当你放手时它会解冻,但在解冻后,我的角色最终会根据你按住窗口或移动窗口的时间向下移动一些图块窗口。关于库和显示器有什么我应该知道的吗,或者您是否需要查看窗口初始化或物理和碰撞检测的代码?我不知道为什么窗口的移动会与玩家的位置有关!
解决方案:经过深思熟虑并尝试解决问题后,我意识到我在更新方法中使用了增量,因为增量是按每次更新之间的时间计算的,因为当窗口“移动”时游戏会冻结” 或“抓取” delta 值在短时间内变得非常大,导致玩家或对象一次移动非常大的量。为了解决这个问题,我简单地限制了传递给我的更新方法的增量值,这样玩家就不能一次移动 10 多个图块。