如何在libgdx-android-desktop中更改大小?我对窗口大小感到困惑,不知道如何解决这个问题。
所以对于桌面窗口我想要500x500但是我想要全屏我想要全屏,所以我不能用它来编码 出于某种原因,ANDROID_WIDTH始终等于WINDOW_WIDTH。
int WINDOW_WIDTH = 500;
int WINDOW_WIDTH = 500;
public void create() {
if (Gdx.app.getType() == ApplicationType.Android) {
int ANDROID_WIDTH = Gdx.graphics.getWidth();
int ANDROID_HEIGHT = Gdx.graphics.getHeight();
camera = new OrthographicCamera(ANDROID_WIDTH, ANDROID_HEIGHT);
camera.translate(ANDROID_WIDTH/2, ANDROID_HEIGHT/2);
camera.update();
} else {
camera = new OrthographicCamera(WINDOW_WIDTH, WINDOW_HEIGHT);
camera.translate(WINDOW_WIDTH / 2, WINDOW_HEIGHT / 2);
camera.update();
}
Gdx.input.setInputProcessor(new GameInputProcessor());
}
答案 0 :(得分:28)
您无法通过更改相机来更改窗口的大小。它们是两个不同的概念。
您可以通过config lwjpg在主方法中设置桌面应用程序的大小。 无论如何,Android应用程序都是全屏的。
LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
cfg.title = "Title";
cfg.useGL20 = true;
cfg.height = 640;
cfg.width = 360;
new LwjglApplication(new MyGame(), cfg);
答案 1 :(得分:10)
您可以在启动时指定窗口大小:
new LwjglApplication(yourApplicationListener(), "Title", 500, 500, true/false (useGL2));
您还可以使用以下方式在游戏中更改
Gdx.graphics.setDisplayMode(500, 500, true/false (fullscreen));
你可以通过像“特技演员”这样的if语句来说明这一点:
if (Gdx.app.getType().equals(ApplicationType.Android)) {
Gdx.graphics.setDisplayMode(500, 500, false);
} else {
Gdx.graphics.setDisplayMode(Gdx.graphics.getWidth(),Gdx.graphics.getHeight(), true);
}
修改强>
在LibGDX 1.8中,方法Gdx.graphics.setDisplayMode
已重命名为Gdx.graphics.setWindowedMode
:
API更改:
Graphics#setDisplayMode(int, int, boolean)
已重命名为Graphics#setWindowedMode(int, int)
。这将不允许您再切换到全屏, 请改用Graphics#setFullscreenMode()
。如果窗口处于全屏模式,它将是 在显示器上切换到窗口模式,窗口处于全屏模式。
(Source)
答案 2 :(得分:4)
在桌面项目中执行此操作
cfg.width=500;
cfg.height=500;
并在您的主要班级
int ANDROID_WIDTH = Gdx.graphics.getWidth();
int ANDROID_HEIGHT = Gdx.graphics.getHeight();
camera = new OrthographicCamera();
camera.setToOrtho(false, ANDROID_WIDTH, ANDROID_HEIGHT);
camera.update();