Swing / libgdx Level Editor

时间:2014-10-17 09:53:36

标签: java swing libgdx

我正在尝试为我正在制作的游戏构建关卡编辑器。我想要的是在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没有多少经验。

2 个答案:

答案 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);
    }
}