Niranjana
Niranjana

Reputation: 536

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?

Upvotes: 0

Views: 733

Answers (1)

AAryan
AAryan

Reputation: 20140

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.

Upvotes: 1

Related Questions