package com.game.framework.display.tilemap; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.maps.tiled.TiledMap; import com.badlogic.gdx.maps.tiled.TiledMapTileLayer; import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer; import com.badlogic.gdx.scenes.scene2d.Group; public class TileMapDisplay extends Group { private TiledMap map; private OrthogonalTiledMapRenderer renderer; private OrthographicCamera camera; private int[] drawLayers; private int tileMapWidth; private int tileMapHeight; private float tileWidth; private float tileHeight; public TileMapDisplay(TiledMap map ,OrthographicCamera camera) { // TODO Auto-generated constructor stub this(map ,camera , 1f); } public TileMapDisplay(TiledMap map ,OrthographicCamera camera ,float unitScale) { this.setMap(map); this.camera = camera; // TODO Auto-generated constructor stub renderer = new OrthogonalTiledMapRenderer(map, unitScale); TiledMapTileLayer layer0 =(TiledMapTileLayer) map.getLayers().get(0); tileMapWidth = layer0.getWidth(); tileMapHeight = layer0.getHeight(); drawLayers = new int[map.getLayers().getCount()]; for(int i=0;i<drawLayers.length;i++) { drawLayers[i] = i; } tileWidth = layer0.getTileWidth(); tileHeight = layer0.getTileHeight(); } @Override public void draw(SpriteBatch batch, float parentAlpha) { // TODO Auto-generated method stub batch.end(); renderer.setView(camera); renderer.render(drawLayers); batch.begin(); super.draw(batch, parentAlpha); } @Override public float getWidth() { // TODO Auto-generated method stub return tileMapWidth * tileWidth; } @Override public float getHeight() { // TODO Auto-generated method stub return tileMapHeight * tileHeight; } public TiledMap getMap() { return map; } public void setMap(TiledMap map) { this.map = map; } }