[LibGDX] Tiled Map and ID

Hello,

I can’t get my tiles properties, i have search on internet but 0 informations TT
Maybe someone here will be able to understand my problem.

 public void initVirtualMap(){
    	
    
    	boolean [][] blocked = new boolean[map.width][map.height];
    	
    	for (int x = 0; x < map.width; x++)
    	{
    	      for (int y = 0; y < map.height; y++)
    	      {
    	            for (int l = 0; l < 3; l++)
    	            {
    	                int id = map.layers.get(l).tiles[y][x];
    	               Gdx.app.log("Test",String.valueOf(id)); 
    	                
    	                
    	                String b = map.getTileProperty(id, "test");
    	               Gdx.app.log("Test",b);
    	                  if (b!=null)
    	                	  if(b.equals("true")) {blocked[x][y] = true;
    	                  Gdx.app.log("Test","Reussi");} 
    	                	  else
    	                		  Gdx.app.log("Test","echec");} 
    	            }
    	       }
    	} 

The map used have 3 layers ( 2 with the property test, and 1 with nothing)

The console said me :
first layer = always id = 1
others = always id = 0
b = alaways null

I don’t understand this =/

Thanks

(Disclaimer: If I recall correctly… :))

It sounds to me like you´ve set the property to the layer. If you want to use getTileProperty() then you have to set the property to the tile. To get the property of a layer you´ll have to use something like

map.layers.get(l).properties.get(insert proper key here)

I´ve never used layerproperties so I don´t know exactly. But my point is that what you are doing now is getting a tileID and then you´re checking if that specific tile has property “test”. If your tile doesn´t have that property, but the layer, it´s not going to work.

If this is the case then you can either

  1. change the property in the tilemap so all your blockable tiles have the property “test” and keep your code, or
  2. change your code so you get the property from the layer instead of the tile.

ps. It can be a good thing open your tmx file and check what layer and tile have what id and property, just to make sure that everything is ok. That way you´ll at least know there´s nothing wrong with your tilemap.

Sorry , i’m really late ^^
Yeah i haven’t noticed that we can set properties on tiles .
That was my problem ^^
Thank you for your answer