config.vSyncEnabled = true;
config.fullscreen = false;
config.width = Gdx.app.getPreferences(WanderingRuin.TITLE).getInteger("resolution width");
config.height = Gdx.app.getPreferences(WanderingRuin.TITLE).getInteger("resolution height");
new LwjglApplication(new WanderingRuin(), config);
难道我不能'尝试,赶上'吗?因为我知道保存了正确的尺寸,我可以在选项菜单中更改屏幕的分辨率。
答案 0 :(得分:4)
你不能这样做,因为似乎LibGdx的东西还没有被初始化。 如果您进行快速测试,请执行以下操作:
public static void main (String[] arg) {
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
System.out.println(Gdx.graphics.getWidth());
new LwjglApplication(new SomeGame(), config);
}
您会注意到这也会抛出NullPointerException。
一个简单的解决方案是稍后在Screen类中执行此操作。然后,您可以完美地获取首选项,并可以使用以下命令调整窗口大小:
Gdx.graphics.setDisplayMode(width, height, fullscreen)