繁体   English   中英

如何在Slick2D / LWJGL或一般的游戏编程中使用“增量”?

[英]How do I work with “delta” in Slick2D/LWJGL or game programming in general?

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

这是帧之间的毫秒数。 与其尝试在帧之间的固定毫秒数上构建游戏,不如要根据自上次更新方法以来已过去的时间来更改/移动/更新/调整每个元素/精灵/ AI,从而更改游戏周围。 几乎所有游戏引擎都是这种情况,并且可以避免基于运行硬件的功能来更改游戏逻辑。

Slick还具有用于设置最短更新时间的机制,因此您有一种方法可以保证增量不会小于一定量。 这样一来,您的游戏基本上就可以说:“更新的频率不要超过每隔'x'毫秒”,因为如果您在功能强大的硬件上运行,并且游戏循环非常紧密,则理论上可以获得毫秒级的增量会开始产生奇怪的副作用,例如动作缓慢或碰撞检测,这些似乎无法按您预期的方式工作。

设置最短更新时间还可以使您仅在经过非常少的时间后就将不必要的重新计算减到最少。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM