Reputation: 181
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());
}
Upvotes: 18
Views: 35272
Reputation: 126
Since time passed by, some things changed compared to the post of @Arash:
If you use Lwjgl3ApplicationConfiguration
instead of LwjglApplicationConfiguration
, then you have to use setWindowMode
instead of height
and width
:
Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
config.setForegroundFPS(60);
config.setTitle("Title");
config.setWindowedMode(1800, 1000);
new Lwjgl3Application(new MyGame(), config);
Upvotes: 1
Reputation: 9783
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 toGraphics#setWindowedMode(int, int)
. This will NOT allow you to switch to fullscreen anymore, useGraphics#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)
Upvotes: 11
Reputation: 961
do this in your desktop project
cfg.width=500;
cfg.height=500;
and in your main class
int ANDROID_WIDTH = Gdx.graphics.getWidth();
int ANDROID_HEIGHT = Gdx.graphics.getHeight();
camera = new OrthographicCamera();
camera.setToOrtho(false, ANDROID_WIDTH, ANDROID_HEIGHT);
camera.update();
Upvotes: 4
Reputation: 12415
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);
Upvotes: 34