@Override public void render () { beginRender(); for (MapLayer layer : map.getLayers()) { renderMapLayer(layer); } endRender(); }
@Override public void render () { beginRender(); for (MapLayer layer : map.getLayers()) { renderMapLayer(layer); } endRender(); }
@Override public void render (int[] layers) { beginRender(); for (int layerIdx : layers) { MapLayer layer = map.getLayers().get(layerIdx); renderMapLayer(layer); } endRender(); }
@Override public void render (int[] layers) { beginRender(); for (int layerIdx : layers) { MapLayer layer = map.getLayers().get(layerIdx); renderMapLayer(layer); } endRender(); }
hexSideLength = 0.5f * length.intValue(); } else { TiledMapTileLayer tmtl = (TiledMapTileLayer)map.getLayers().get(0); hexSideLength = 0.5f * tmtl.getTileWidth(); hexSideLength = 0.5f * length.intValue(); } else { TiledMapTileLayer tmtl = (TiledMapTileLayer)map.getLayers().get(0); hexSideLength = 0.5f * tmtl.getTileHeight();
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 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 getTiles (int startX, int startY, int endX, int endY, Array<Rectangle> tiles) { TiledMapTileLayer layer = (TiledMapTileLayer)map.getLayers().get("walls"); rectPool.freeAll(tiles); tiles.clear(); for (int y = startY; y <= endY; y++) { for (int x = startX; x <= endX; x++) { Cell cell = layer.getCell(x, y); if (cell != null) { Rectangle rect = rectPool.obtain(); rect.set(x, y, 1, 1); tiles.add(rect); } } } }
@Override public void create () { float w = Gdx.graphics.getWidth(); float h = Gdx.graphics.getHeight(); camera = new OrthographicCamera(); camera.setToOrtho(false, (w / h) * 20, 20); camera.position.set(10.0f, 2.5f, 0.0f); camera.update(); cameraController = new OrthoCamController(camera); Gdx.input.setInputProcessor(cameraController); font = new BitmapFont(); batch = new SpriteBatch(); map = new TmxMapLoader().load("data/maps/tiled/grouplayertest.tmx"); renderer = new OrthogonalTiledMapRenderer(map, 1f / 32f); testMapProperty(map.getLayers().get("group1Visible"), true, 1f, 32, 0, true); MapGroupLayer group1Visible = (MapGroupLayer)map.getLayers().get("group1Visible"); testMapProperty(group1Visible.getLayers().get("group1ChildGroup"), true, 1f, 32, 0, true); testMapProperty(group1Visible.getLayers().get("group1ChildVisible"), true, 1f, 0, 0, false); testMapProperty(group1Visible.getLayers().get("group1ChildNotVisible"), false, 1f, 32, 0, false); testMapProperty(map.getLayers().get("group2NotVisible"), false, 1f, 0, 0, true); testMapProperty(map.getLayers().get("Layer1"), true, 1f, 0, 0, false); }
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(); }
TextureRegion[][] splitTiles = TextureRegion.split(tiles, 32, 32); map = new TiledMap(); MapLayers layers = map.getLayers(); for (int l = 0; l < 20; l++) { TiledMapTileLayer layer = new TiledMapTileLayer(150, 100, 32, 32);
TextureRegion[][] hexes = TextureRegion.split(hexture, 112, 97); map = new TiledMap(); MapLayers layers = map.getLayers(); TiledMapTile[] tiles = new TiledMapTile[3]; tiles[0] = new StaticTiledMapTile(new TextureRegion(hexes[0][0]));
MapLayer layer = map.getLayers().get("Objects"); MapObjects mapObjects = layer.getObjects();