我正在尝试为我正在制作的游戏构建关卡编辑器。我想要的是在Swing JPanel
中运行游戏。我就是这样做的。
public class GamePanel extends JPanel {
public GamePanel() {
setLayout(new BorderLayout());
canvas = new LwjglAWTCanvas(new MyGame());
add(canvas.getCanvas(), BorderLayout.CENTER);
}
}
所以这就是问题所在。当我以LwjglApplication运行MyGame时,它运行大约60 fps。 但是当我在JPanel中显示它时,它以超过1000 fps运行并占用太多cpu。
有没有办法解决这个问题,所以不会使用那么多cpu。如果我使用其他东西,我对Swing没有多少经验。
答案 0 :(得分:0)
LibGDX没有帧率限制。它以尽可能高的帧速率运行。所以你最好在你的主循环中有这样的东西:
Thread.sleep((long)(1000/60-Gdx.graphics.getDeltaTime()));
您可以使用所需的帧速率更改60并vo!
答案 1 :(得分:0)
您可以将桌面配置设置为限制帧速率。例如:
public class DesktopLauncher {
public static void main (String[] arg) {
LwjglApplicationConfiguration config =
new LwjglApplicationConfiguration();
config.foregroundFPS = 60;
new LwjglApplication(new MyGdxGame(), config);
}
}