我所知道的是,delta 在某种程度上与适应不同的帧速率有关,但我不确定它究竟代表什么以及如何在计算速度的数学中使用它,而不是。 在哪里声明delta?初始化? 它是如何使用的?它的值(最小值、最大值)是如何设置的?
最佳答案
它是帧之间的毫秒数。与其尝试在帧之间的固定毫秒数上构建游戏,不如根据自上次更新方法到来以来耗时来更改游戏以移动/更新/调整每个元素/ Sprite /AI大约。几乎所有游戏引擎都是这种情况,让您无需根据运行硬件的能力更改游戏逻辑。
Slick 也有设置最小更新时间的机制,所以你有办法保证增量不会小于一定数量。这让你的游戏基本上可以说,“不要比每‘x’毫秒更频繁地更新”,因为如果你在强大的硬件上运行,并且有一个非常紧凑的游戏循环,理论上可以获得亚毫秒的增量这开始产生奇怪的副作用,例如移动缓慢或碰撞检测似乎无法按您预期的方式工作。
设置最短更新时间还可以让您最大限度地减少不必要的重新计算,当只有非常非常少的时间过去时。
关于java - 我如何在 Slick2D/LWJGL 或一般游戏编程中使用 "delta"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8282501/