Search code examples
libgdxtiled

TiledMap does not showing up -LibGdx


I want to include a TiledMap inside my LibGdx Project.

I did coding like this.

public static final AssetDescriptor<TiledMap> tMap = new AssetDescriptor<TiledMap>("tmap.tmx",
        TiledMap.class);

Inside MyGdxGame class,called a loader also:

assetManager = new AssetManager();
    //tmx loading
    assetManager.setLoader(TiledMap.class, new TmxMapLoader(new InternalFileHandleResolver()));//loader for tiledmap
    assetManager.load("tmap.tmx", TiledMap.class);
    assetManager.finishLoading();

Inside gameScreen Class:

private TiledMap tiledMap;
private OrthogonalTiledMapRenderer orthogonalTiledMapRenderer;

public void show() {
tiledMap = assetManager.get(Assets.tMap);
orthogonalTiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap,batch);
    orthogonalTiledMapRenderer.setView(game.camera);
}
public void render(float delta) {

    batch.setProjectionMatrix(game.camera.projection);
    batch.setTransformMatrix(game.camera.view);
    orthogonalTiledMapRenderer.render();
}

But TiledMap image is not showing up while running the project.It does not show any error while running. Also how to manage camera with tilemaps?


Solution

  • I'm using in this way

     AssetManager manager = new AssetManager();
     manager.setLoader(TiledMap.class, new TmxMapLoader(new InternalFileHandleResolver()));
     manager.load("maps/tile.tmx", TiledMap.class);
    

    When all asset are loaded.

    TiledMap tiledMap=manager.get("maps/tile.tmx");
    OrthogonalTiledMapRenderer renderer=new OrthogonalTiledMapRenderer(tiledMap);
    

    render in this way :

    public void render(float delta) {

            Gdx.gl.glClearColor(0, 0, 0, 1);
            Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    
            game.camera.position.set(...);  //set position according to your requirement  
            game.camera.update();
            orthogonalTiledMapRenderer.setView(game.camera);
            orthogonalTiledMapRenderer.render();
    
            orthogonalTiledMapRenderer.getBatch();  // for batch related work
        }
    

    May be it would be helpful.

    Thanks.