Seit ein paar Tagen bastele ich mit LibGDX herum. Ich habe es geschafft, eine Isometric Tiled Map auf den Bildschirm zu bringen, aber ich kann einfach nicht herausfinden, wie man es richtig zentriert. Hier ist der Code:LibGDX - Wie zentriert man eine Isometric Tiled Map auf dem Bildschirm?
public class PlayScreen implements Screen {
private TiledMap map;
private IsometricTiledMapRenderer isometricRenderer;
private OrthographicCamera camera;
public void createUI() {
// Load map from tiled .tmx file.
map = new TmxMapLoader().load("arena1/arena1.tmx");
// Setup isometric renderer and camera.
isometricRenderer = new IsometricTiledMapRenderer(map);
camera = new OrthographicCamera();
}
@Override
public void show() {
Gdx.gl.glClearColor(0, 0, 1, 1);
createUI();
}
@Override
public void render(float delta) {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
isometricRenderer.setView(camera);
isometricRenderer.render();
}
@Override
public void resize(int width, int height) {
camera.viewportWidth = width;
camera.viewportHeight = height;
camera.update();
}
@Override
public void pause() {}
@Override
public void resume() {}
@Override
public void hide() {}
@Override
public void dispose() {
map.dispose();
isometricRenderer.dispose();
}
}
Und hier ist das, was ich bekommen:
Vielen Dank im Voraus!
Ich habe camera.setPosition() vor dem Posten ausprobiert, aber ich konnte es nicht zentrieren, was soll ich als Parameter verwenden? –
@MartimFerreira vielleicht Ihre Kartenbreite und -höhe geteilt durch 2? – icarumbas
@MartimFerreira Wenn meine Antwort Ihr Problem gelöst hat, bitte markieren Sie es als richtig. – icarumbas