gpt4 book ai didi

Java while 循环计时

转载 作者:行者123 更新时间:2023-11-30 11:37:09 25 4
gpt4 key购买 nike

我正在制作一个 Java 游戏,但我一直在思考如何轻松地进行计时。我知道有增量时间问题,但这是否意味着我必须在几乎每个移动/更新函数中插入该增量变量?

我想知道我是否可以对游戏的主要 While 循环进行计时,使其每 50 毫秒运行/循环一次,而不是尽可能快。

最佳答案

位置的变化是时间的函数,因此必须将时间增量传递给大多数更新游戏状态的函数是有意义的。这是很自然的事情;我不会担心这样做。

虽然可以在每一帧插入延迟(而且您几乎肯定想这样做,因为让游戏以 1000 fps 运行是没有意义的),让您的更新逻辑假设<通常是有害的/em> 每一帧都将花费预设的时间。当一帧恰好比其他帧花费的时间长时,这样做会导致断断续续。

要给你的游戏一定的帧率,每帧的一般方法如下:

  • 将当前时间记录为startTime
  • 进行状态更新。
  • 重绘。
  • 将当前时间记录为endTime
  • hibernate (1/framerate) - (endTime - startTime)

关于Java while 循环计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14189182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com