java - 我如何在 Slick2D/LWJGL 或一般游戏编程中使用 "delta"?

标签 java lwjgl slick2d

我所知道的是,delta 在某种程度上与适应不同的帧速率有关,但我不确定它究竟代表什么以及如何在计算速度的数学中使用它,而不是。 在哪里声明delta?初始化? 它是如何使用的?它的值(最小值、最大值)是如何设置的?

最佳答案

它是帧之间的毫秒数。与其尝试在帧之间的固定毫秒数上构建游戏,不如根据自上次更新方法到来以来耗时来更改游戏以移动/更新/调整每个元素/ Sprite /AI大约。几乎所有游戏引擎都是这种情况,让您无需根据运行硬件的能力更改游戏逻辑。

Slick 也有设置最小更新时间的机制,所以你有办法保证增量不会小于一定数量。这让你的游戏基本上可以说,“不要比每‘x’毫秒更频繁地更新”,因为如果你在强大的硬件上运行,并且有一个非常紧凑的游戏循环,理论上可以获得亚毫秒的增量这开始产生奇怪的副作用,例如移动缓慢或碰撞检测似乎无法按您预期的方式工作。

设置最短更新时间还可以让您最大限度地减少不必要的重新计算,当只有非常非常少的时间过去时。

关于java - 我如何在 Slick2D/LWJGL 或一般游戏编程中使用 "delta"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8282501/

相关文章:

java - OpenGL异常 : Cannot use offsets when Array Buffer Object is disabled. 。调用 glEnable(GL_ARRAY_BUFFER) 后在一行上?

java - 如何使用 Slick2D 渲染最后一个字符字形的一部分

java - 如何使 boolean 值持续一段时间?

java - 如何使用 Slick-Utils 从 Java 中的 spritesheet 加载纹理?

java - IcedTea 和 lwgjl

java - 我们可以将哈希表写入文件吗?

java - xml Java不会删除元素

java - 如何更改 Slick2D 游戏任务栏中的图片

java - 如何在 JUnit 测试初始化​​时模拟 Bean 所需的文件

Java 打印机