@Override public void renderTileLayer (TiledMapTileLayer layer) { final Color batchColor = batch.getColor(); final float color = Color.toFloatBits(batchColor.r, batchColor.g, batchColor.b, batchColor.a * layer.getOpacity()); final int layerWidth = layer.getWidth(); final int layerHeight = layer.getHeight(); final float layerTileWidth = layer.getTileWidth() * unitScale; final float layerTileHeight = layer.getTileHeight() * unitScale; final float layerOffsetX = layer.getRenderOffsetX() * unitScale; final float layerOffsetY = -layer.getRenderOffsetY() * unitScale; renderCell(layer.getCell(col, row), tileWidthUpperCorner * col + layerOffsetX, layerTileHeight50 + (layerTileHeight * row) + layerOffsetY, color); renderCell(layer.getCell(col, row), tileWidthUpperCorner * col + layerOffsetX, layerTileHeight * row + layerOffsetY, color); shiftX = 0; for (int col = col1; col < col2; col++) { renderCell(layer.getCell(col, row), layerTileWidth * col + shiftX + layerOffsetX, tileHeightUpperCorner * row + layerOffsetY, color);
int tileSizeY = Integer.parseInt(tileSizeParts[1]); TiledMapTileLayer layer = new TiledMapTileLayer(layerSizeX, layerSizeY, tileSizeX, tileSizeY); layer.setName(id); layer.setVisible(visible.equalsIgnoreCase("True")); Element tileArray = element.getChildByName("TileArray"); Array<Element> rows = tileArray.getChildrenByName("Row"); Cell cell = new Cell(); cell.setTile(currentTileSet.getTile(firstgid + currentChild.getIntAttribute("Index"))); layer.setCell(x++, y, cell); } else if (name.equals("Animated")) { layer.setCell(x++, y, cell); // TODO: Reuse existing animated tiles loadProperties(layer.getProperties(), properties);
private void renderDebug () { debugRenderer.setProjectionMatrix(camera.combined); debugRenderer.begin(ShapeType.Line); debugRenderer.setColor(Color.RED); debugRenderer.rect(koala.position.x, koala.position.y, Koala.WIDTH, Koala.HEIGHT); debugRenderer.setColor(Color.YELLOW); TiledMapTileLayer layer = (TiledMapTileLayer)map.getLayers().get("walls"); for (int y = 0; y <= layer.getHeight(); y++) { for (int x = 0; x <= layer.getWidth(); x++) { Cell cell = layer.getCell(x, y); if (cell != null) { if (camera.frustum.boundsInFrustum(x + 0.5f, y + 0.5f, 0, 1, 1, 0)) debugRenderer.rect(x, y, 1, 1); } } } debugRenderer.end(); }
} else { TiledMapTileLayer tmtl = (TiledMapTileLayer)map.getLayers().get(0); hexSideLength = 0.5f * tmtl.getTileWidth(); } else { TiledMapTileLayer tmtl = (TiledMapTileLayer)map.getLayers().get(0); hexSideLength = 0.5f * tmtl.getTileHeight();
@Override public void renderTileLayer (TiledMapTileLayer layer) { final Color batchColor = batch.getColor(); final float color = Color.toFloatBits(batchColor.r, batchColor.g, batchColor.b, batchColor.a * layer.getOpacity()); float tileWidth = layer.getTileWidth() * unitScale; float tileHeight = layer.getTileHeight() * unitScale; final float layerOffsetX = layer.getRenderOffsetX() * unitScale; final float layerOffsetY = -layer.getRenderOffsetY() * unitScale; float y = (row * halfTileHeight) - (col * halfTileHeight); final TiledMapTileLayer.Cell cell = layer.getCell(col, row); if (cell == null) continue; final TiledMapTile tile = cell.getTile();
TiledMapTileLayer layer0 = (TiledMapTileLayer) map.getLayers().get(0); Vector3 center = new Vector3(layer0.getWidth() * layer0.getTileWidth() / 2, layer0.getHeight() * layer0.getTileHeight() / 2, 0); camera.position.set(center);
private void stripUnusedTiles () { int mapWidth = map.getProperties().get("width", Integer.class); int mapHeight = map.getProperties().get("height", Integer.class); int numlayers = map.getLayers().getCount(); int bucketSize = mapWidth * mapHeight * numlayers; Iterator<MapLayer> it = map.getLayers().iterator(); while (it.hasNext()) { MapLayer layer = it.next(); // some layers can be plain MapLayer instances (ie. object groups), just ignore them if (layer instanceof TiledMapTileLayer) { TiledMapTileLayer tlayer = (TiledMapTileLayer)layer; for (int y = 0; y < mapHeight; ++y) { for (int x = 0; x < mapWidth; ++x) { if (tlayer.getCell(x, y) != null) { TiledMapTile tile = tlayer.getCell(x, y).getTile(); if (tile instanceof AnimatedTiledMapTile) { AnimatedTiledMapTile aTile = (AnimatedTiledMapTile)tile; for (StaticTiledMapTile t : aTile.getFrameTiles()) { addTile(t, bucketSize); } } // Adds non-animated tiles and the base animated tile addTile(tile, bucketSize); } } } } } }
/** * Spawn map entities. */ protected void setup() { for (TiledMapTileLayer layer : layers) { for (int ty = 0; ty < height; ty++) { for (int tx = 0; tx < width; tx++) { final TiledMapTileLayer.Cell cell = layer.getCell(tx, ty); if (cell != null) { final MapProperties properties = cell.getTile().getProperties(); if (properties.containsKey("entity")) { entityFactorySystem.createEntity((String)properties.get("entity"), tx * tileWidth, ty * tileHeight, properties); layer.setCell(tx, ty, null); } } } } } }
int tileWidth = map.getProperties().get("tilewidth", Integer.class); int tileHeight = map.getProperties().get("tileheight", Integer.class); TiledMapTileLayer layer = new TiledMapTileLayer(width, height, tileWidth, tileHeight); Cell cell = createTileLayerCell(flipHorizontally, flipVertically, flipDiagonally); cell.setTile(tile); layer.setCell(x, flipY ? height - 1 - y : y, cell); loadProperties(layer.getProperties(), properties);
MapLayers layers = map.getLayers(); for (int l = 0; l < 20; l++) { TiledMapTileLayer layer = new TiledMapTileLayer(150, 100, 32, 32); for (int x = 0; x < 150; x++) { for (int y = 0; y < 100; y++) { Cell cell = new Cell(); cell.setTile(new StaticTiledMapTile(splitTiles[ty][tx])); layer.setCell(x, y, cell);
layer.setCell((int)tile.x, (int)tile.y, null); } else { koala.position.y = tile.y + tile.height;
@Override public void renderTileLayer (TiledMapTileLayer layer) { final Color batchColor = batch.getColor(); final float color = Color.toFloatBits(batchColor.r, batchColor.g, batchColor.b, batchColor.a * layer.getOpacity()); float tileWidth = layer.getTileWidth() * unitScale; float tileHeight = layer.getTileHeight() * unitScale; final float layerOffsetX = layer.getRenderOffsetX() * unitScale; final float layerOffsetY = -layer.getRenderOffsetY() * unitScale; float y = (row * halfTileHeight) - (col * halfTileHeight); final TiledMapTileLayer.Cell cell = layer.getCell(col, row); if (cell == null) continue; final TiledMapTile tile = cell.getTile();
float cameraMaxX = layer.getWidth() * layer.getTileWidth() - cameraMinX; float cameraMaxY = layer.getHeight() * layer.getTileHeight() - cameraMinY;
private void stripUnusedTiles () { int mapWidth = map.getProperties().get("width", Integer.class); int mapHeight = map.getProperties().get("height", Integer.class); int numlayers = map.getLayers().getCount(); int bucketSize = mapWidth * mapHeight * numlayers; Iterator<MapLayer> it = map.getLayers().iterator(); while (it.hasNext()) { MapLayer layer = it.next(); // some layers can be plain MapLayer instances (ie. object groups), just ignore them if (layer instanceof TiledMapTileLayer) { TiledMapTileLayer tlayer = (TiledMapTileLayer)layer; for (int y = 0; y < mapHeight; ++y) { for (int x = 0; x < mapWidth; ++x) { if (tlayer.getCell(x, y) != null) { TiledMapTile tile = tlayer.getCell(x, y).getTile(); if (tile instanceof AnimatedTiledMapTile) { AnimatedTiledMapTile aTile = (AnimatedTiledMapTile)tile; for (StaticTiledMapTile t : aTile.getFrameTiles()) { addTile(t, bucketSize); } } // Adds non-animated tiles and the base animated tile addTile(tile, bucketSize); } } } } } }
private void setBlocked() { for (int i = 0; i < this.map.getLayers().getCount(); i++) { TiledMapTileLayer layer = (TiledMapTileLayer) this.map.getLayers() .get(i); for (int y = 0; y < layer.getHeight(); y++) { for (int x = 0; x < layer.getWidth(); x++) { if (layer.getCell(x, y) != null && layer.getCell(x, y).getTile().getProperties() .containsKey("blocked")) { this.mapArray[x][y] = Config.CANTMOVEONPOSITION; } } } } }
/** * Spawn map entities. */ protected void setup() { for (TiledMapTileLayer layer : layers) { for (int ty = 0; ty < height; ty++) { for (int tx = 0; tx < width; tx++) { final TiledMapTileLayer.Cell cell = layer.getCell(tx, ty); if (cell != null) { final MapProperties properties = cell.getTile().getProperties(); if (properties.containsKey("entity")) { entityFactorySystem.createEntity((String)properties.get("entity"), tx * tileWidth, ty * tileHeight, properties); layer.setCell(tx, ty, null); } } } } } }
int tileWidth = map.getProperties().get("tilewidth", Integer.class); int tileHeight = map.getProperties().get("tileheight", Integer.class); TiledMapTileLayer layer = new TiledMapTileLayer(width, height, tileWidth, tileHeight); Cell cell = createTileLayerCell(flipHorizontally, flipVertically, flipDiagonally); cell.setTile(tile); layer.setCell(x, flipY ? height - 1 - y : y, cell); loadProperties(layer.getProperties(), properties);
TiledMapTileLayer layer = new TiledMapTileLayer(45, 30, 112, 97); for (int y = 0; y < 30; y++) { for (int x = 0; x < 45; x++) { Cell cell = new Cell(); cell.setTile(tiles[id]); layer.setCell(x, y, cell);
} else { TiledMapTileLayer tmtl = (TiledMapTileLayer)map.getLayers().get(0); hexSideLength = 0.5f * tmtl.getTileWidth(); } else { TiledMapTileLayer tmtl = (TiledMapTileLayer)map.getLayers().get(0); hexSideLength = 0.5f * tmtl.getTileHeight();
public void chageTile(float xActor, float yActor){ int tiledPx = 32; //yourPixelPerTile. int ajusteX = xActor / tiledPx; int ajusteY = yActor / tiledPx; //get(0) is layer 0 in your tilemap TiledMapTileLayer tileid = (TiledMapTileLayer)mapActual.getLayers().get(0); TiledMapTileLayer.Cell cell = new TiledMapTileLayer.Cell(); //mapActual is your reference a your mapTile //MoldeTileSet is a name of the tileset in your map // and getTile(3) is a numbre 3 of de tileset image cell.setTile(mapActual.getTileSets().getTileSet("MoldeTileSet").getTile(3)); Gdx.app.log("ChangeTileInPosPlayer", ""); tileid.setCell(ajusteX, ajusteY, cell); Gdx.app.log("ChangeTileInPosPlayer", "ajusteY +1"); tileid.setCell(ajusteX, ajusteY + 1, cell); }