Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change libgdx different window size?

Tags:

java

libgdx

How to change size in libgdx-android-desktop? I am confuse on window sizeing and not sure how to solve this problem.

So for desktop window i want 500x500 but with android i want full screen so i cant hard code it.
For some reason ANDROID_WIDTH is always equal to 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());
}
like image 669
user2570888 Avatar asked Jan 12 '14 19:01

user2570888


2 Answers

You cannot change the size of the windows by changing the camera. They are two separate concepts.

You set the size on desktop application in your main method through config lwjpg . Android application is full screen anyway.

LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
cfg.title = "Title";
cfg.useGL20 = true;
cfg.height = 640;
cfg.width = 360;
new LwjglApplication(new MyGame(), cfg);
like image 64
Arash Avatar answered Nov 11 '22 20:11

Arash


You can give the Window size on Startup:

new LwjglApplication(yourApplicationListener(), "Title", 500, 500, true/false (useGL2));

You can also Change it in your game using:

Gdx.graphics.setDisplayMode(500, 500, true/false (fullscreen));

You can surround this by an if Statement like stuntmania said:

if (Gdx.app.getType().equals(ApplicationType.Android)) {
    Gdx.graphics.setDisplayMode(500, 500, false);
} else {
    Gdx.graphics.setDisplayMode(Gdx.graphics.getWidth(),Gdx.graphics.getHeight(), true);
}

EDIT: In LibGDX 1.8 the Method Gdx.graphics.setDisplayMode has been renamed to Gdx.graphics.setWindowedMode:

API Change: Graphics#setDisplayMode(int, int, boolean) has been renamed to Graphics#setWindowedMode(int, int). This will NOT allow you to switch to fullscreen anymore, use Graphics#setFullscreenMode() instead. If the window is in fullscreen mode, it will be switched to windowed mode on the monitor the window was in fullscreen mode on.

(Source)

like image 11
Robert P Avatar answered Nov 11 '22 18:11

Robert P