Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I am making a tiled based game, I want not to let the camera show places, where there is no map... this is a obvious solution I got from a tutorial

if(camera.position.x<400){
    camera.position.x=400;
}else if(camera.position.x>map.width*map.tileWidth-400){
    camera.position.x=map.width*map.tileWidth-400;
}

if(camera.position.y<240){
    camera.position.y=240;
}else if(camera.position.y>map.height*map.tileHeight-240){
    camera.position.y=map.height*map.tileHeight-240;
}

camera.update();

but I don't know how to get width & height of the tiledMap in the latest version of libgdx

https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/maps/tiled/TiledMap.java

Seems strange... I even tried the Super classes but couldn't find. Please help.

share|improve this question

1 Answer 1

up vote 8 down vote accepted
TiledMap tiledMap = new TmxMapLoader().load("path/to/tiled/map.tmx");   
MapProperties prop = tiledMap.getProperties();

int mapWidth = prop.get("width", Integer.class);
int mapHeight = prop.get("height", Integer.class);
int tilePixelWidth = prop.get("tilewidth", Integer.class);
int tilePixelHeight = prop.get("tileheight", Integer.class);

int mapPixelWidth = mapWidth * tilePixelWidth;
int mapPixelHeight = mapHeight * tilePixelHeight;

The mapWidth and mapHeight are the dimensions of the map in tiles. So they would both be 10 in a 10x10 grid. The tilePixelWidth and tilePixelHeight are the dimensions of the tiles in pixels. In a 32x32 tileset they would both be 32. Multiplying the dimensions together you will get the map dimensions in pixels.

share|improve this answer
    
Hi there, mobo! Could you explain a little bit more about the snippet? It might help others. –  Vaughan Hilts Jun 13 '13 at 14:05
1  
MapProperties is just an Object map that holds any properties of the TileMap. If you are using a .tmx file its any of the properties in the first line: width, height, tilewidth, tileheight, orientation are all there by default. The cod was wrong and I am fixed it. –  mobo Jun 13 '13 at 14:19
    
Thanks a lot - your contribution is appreciated I'm sure. :) –  Vaughan Hilts Jun 13 '13 at 14:38

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.