【问题标题】:Swing/libgdx Level EditorSwing/libgdx 关卡编辑器
【发布时间】:2014-12-12 21:13:16
【问题描述】:

我正在尝试为我正在制作的游戏构建关卡编辑器。我想要的是在 Swing JPanel 中运行游戏。以下是我的做法。

public class GamePanel extends JPanel {       
    public GamePanel() {    
        setLayout(new BorderLayout());    
        canvas = new LwjglAWTCanvas(new MyGame());    
        add(canvas.getCanvas(), BorderLayout.CENTER); 
    }
}

所以这就是问题所在。当我将 MyGame 作为 LwjglApplication 运行时,它以大约 60 fps 的速度运行。 但是当我在 JPanel 中显示它时,它以超过 1000 fps 的速度运行并且占用了太多的 cpu。

有没有办法解决这个问题,所以它不会使用太多的 cpu。我对 Swing 没有太多经验,我应该使用其他东西吗?

【问题讨论】:

标签: java swing libgdx


【解决方案1】:

LibGDX 没有帧率限制。它以尽可能高的帧速率运行。所以你最好在你的主循环中有这样的东西:

Thread.sleep((long)(1000/60-Gdx.graphics.getDeltaTime()));

您可以将 60 更改为您想要的帧速率,瞧!

【讨论】:

    【解决方案2】:

    您可以设置桌面配置来限制帧率。例如:

    public class DesktopLauncher {
        public static void main (String[] arg) {
            LwjglApplicationConfiguration config = 
                    new LwjglApplicationConfiguration();
            config.foregroundFPS = 60;
            new LwjglApplication(new MyGdxGame(), config);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多