1

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

4

2 回答 2

5

它是帧之间的毫秒数。与其尝试在帧之间的固定毫秒数上构建游戏,不如根据自上次更新方法出现以来经过的时间来改变游戏以移动/更新/调整每个元素/精灵/AI大约。几乎所有游戏引擎都是这种情况,并且允许您避免需要根据您正在运行的硬件的功能来更改游戏逻辑。

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

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

于 2011-11-27T21:47:00.133 回答
1

阅读此处的 LWJGL 计时教程。它并不严格,但会解释 delta 值是什么以及如何使用它。

于 2011-11-26T23:47:38.303 回答