gpt4 book ai didi

java - FPS 控制游戏速度

转载 作者:行者123 更新时间:2023-11-30 08:21:58 24 4
gpt4 key购买 nike

背景资料

我最近一直在使用 LWJGL 开发一款游戏,我很好奇在不使用 Display.sync(60) 函数(将 fps 限制为 60)的情况下我可以每秒获得多少帧.注释掉代码后,我偶然发现游戏速度更新为 9000 一些 fps,这反过来又使游戏滴答每秒运行 9000 次。

问题

我应该如何实现游戏计时器以防止 fps 对游戏实际运行速度造成问题?我知道我需要将两个计时器分开,但如何/哪种方式最有效(在 Java 中)?

最佳答案

TheCodingUniverse 在这里提供了一个很棒的教程:http://thecodinguniverse.com/lwjgl-frame-rate-independent-movement/

但是,基本的答案是您通过保存最后一个 System.currentTime() 来移动帧,然后将它与这个 System.currentTime() 进行比较。然后移动时就像 object.move(x * delta, y * delta);

引用上面的链接,

// Under the class definition
private static long lastFrame;
private static long getTime() {
return (Sys.getTime() * 1000) / Sys.getTimerResolution();
}
private static double getDelta() {
long currentTime = getTime();
double delta = (double) currentTime - (double) lastFrame;
lastFrame = getTime();
return delta;
}
// In initialization code
lastFrame = getTime();
// In game loop
long delta = getDelta();
movement_x += dx * delta;

希望对您有所帮助:)。

关于java - FPS 控制游戏速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24729328/

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