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?
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.