DreamsInHD
DreamsInHD

Reputation: 413

libgdx TiledMap not correct size

I'm trying to use a TiledMap in a test game but I'm having issues with the size. I'm using an ExtendViewport with width 160 and height 90. I guess the problem is that the tiled map is drawing using the screen size, because it's zoomed in. Do I need 2 seperate cameras for the tiled map and the rest of the game (players, enemies, ...)?

This is all of my code:

public class Main extends Game {
    private OrthographicCamera camera;
    private ExtendViewport viewport;
    private TiledMap tiledMap;
    TiledMapRenderer tiledMapRenderer;

    @Override
    public void create () {
        camera = new OrthographicCamera(160, 90);
        camera.setToOrtho(false, 160, 90);
        camera.update();

        viewport = new ExtendViewport(160, 90, camera);
        viewport.apply();

        tiledMap = new TmxMapLoader().load("map1.tmx");
        tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap);
    }

    @Override
    public void render () {
        Gdx.gl.glClearColor(0, 0, 0, 1);

        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

        camera.update();
        tiledMapRenderer.setView(camera);
        tiledMapRenderer.render();
    }

    @Override
    public void resize(int width, int height) {
        viewport.update(width, height, false);
    }

    @Override
    public void dispose () {

    }
}

Thanks

Upvotes: 3

Views: 1653

Answers (1)

yigiter
yigiter

Reputation: 412

OrthogonalTiledMapRenderer's second parameter is unitScale. The unit scale tells the renderer how many pixels map to a single world unit. And it defaults to 1.

So in your case one pixel is equals to one unit size in tiled map. Try changing the unitScale parameter.

https://github.com/libgdx/libgdx/wiki/Tile-maps#rendering-tiled-maps

Upvotes: 2

Related Questions