List of usage examples for com.badlogic.gdx.maps.tiled.tiles StaticTiledMapTile setId
@Override
public void setId(int id)
From source file:ca.hiphiparray.amazingmaze.Assets.java
License:Open Source License
/** Helper method for loading the map resources. */ private void loadMapResources() { manager.load(GAME_ATLAS_LOCATION, TextureAtlas.class); manager.finishLoadingAsset(GAME_ATLAS_LOCATION); TextureAtlas atlas = manager.get(Assets.GAME_ATLAS_LOCATION, TextureAtlas.class); // Reference used for readability. tiles = new TiledMapTileSet(); StaticTiledMapTile background = new StaticTiledMapTile(atlas.findRegion(BACKGROUND)); StaticTiledMapTile barrier = new StaticTiledMapTile(atlas.findRegion(BARRIER)); StaticTiledMapTile placeholder = new StaticTiledMapTile(atlas.findRegion(PLACEHOLDER)); background.setId(TileIDs.computeID(TileIDs.BACKGROUND)); barrier.setId(TileIDs.computeID(TileIDs.BARRIER)); placeholder.setId(TileIDs.computeID(TileIDs.PLACEHOLDER)); tiles.putTile(background.getId(), background); tiles.putTile(barrier.getId(), barrier); tiles.putTile(placeholder.getId(), placeholder); StaticTiledMapTile verticalOn = new StaticTiledMapTile(atlas.findRegion(VERTICAL + ON_MODIFIER)); StaticTiledMapTile verticalOff = new StaticTiledMapTile(atlas.findRegion(VERTICAL + OFF_MODIFIER)); StaticTiledMapTile verticalUnknown = new StaticTiledMapTile(atlas.findRegion(VERTICAL + UNKNOWN_MODIFIER)); verticalOn.setId(TileIDs.computeID(TileIDs.WIRE_RANGE, TileIDs.VERTICAL, TileIDs.ON)); verticalOff.setId(TileIDs.computeID(TileIDs.WIRE_RANGE, TileIDs.VERTICAL, TileIDs.OFF)); verticalUnknown.setId(TileIDs.computeID(TileIDs.WIRE_RANGE, TileIDs.VERTICAL, TileIDs.UNKNOWN)); tiles.putTile(verticalOn.getId(), verticalOn); tiles.putTile(verticalOff.getId(), verticalOff); tiles.putTile(verticalUnknown.getId(), verticalUnknown); loadGates(atlas, ON_MODIFIER, UP_MODIFIER, TileIDs.ON, TileIDs.UP_GATE); loadGates(atlas, ON_MODIFIER, DOWN_MODIFIER, TileIDs.ON, TileIDs.DOWN_GATE); loadGates(atlas, OFF_MODIFIER, UP_MODIFIER, TileIDs.OFF, TileIDs.UP_GATE); loadGates(atlas, OFF_MODIFIER, DOWN_MODIFIER, TileIDs.OFF, TileIDs.DOWN_GATE); loadGates(atlas, UNKNOWN_MODIFIER, UP_MODIFIER, TileIDs.UNKNOWN, TileIDs.UP_GATE); loadGates(atlas, UNKNOWN_MODIFIER, DOWN_MODIFIER, TileIDs.UNKNOWN, TileIDs.DOWN_GATE); StaticTiledMapTile turnOnUpLeft = new StaticTiledMapTile( atlas.findRegion(TURN + ON_MODIFIER + UP_MODIFIER + LEFT_MODIFIER)); StaticTiledMapTile turnOffUpLeft = new StaticTiledMapTile( atlas.findRegion(TURN + OFF_MODIFIER + UP_MODIFIER + LEFT_MODIFIER)); StaticTiledMapTile turnOnUpRight = new StaticTiledMapTile( atlas.findRegion(TURN + ON_MODIFIER + UP_MODIFIER + RIGHT_MODIFIER)); StaticTiledMapTile turnOffUpRight = new StaticTiledMapTile( atlas.findRegion(TURN + OFF_MODIFIER + UP_MODIFIER + RIGHT_MODIFIER)); StaticTiledMapTile turnOnDownLeft = new StaticTiledMapTile( atlas.findRegion(TURN + ON_MODIFIER + DOWN_MODIFIER + LEFT_MODIFIER)); StaticTiledMapTile turnOffDownLeft = new StaticTiledMapTile( atlas.findRegion(TURN + OFF_MODIFIER + DOWN_MODIFIER + LEFT_MODIFIER)); StaticTiledMapTile turnOnDownRight = new StaticTiledMapTile( atlas.findRegion(TURN + ON_MODIFIER + DOWN_MODIFIER + RIGHT_MODIFIER)); StaticTiledMapTile turnOffDownRight = new StaticTiledMapTile( atlas.findRegion(TURN + OFF_MODIFIER + DOWN_MODIFIER + RIGHT_MODIFIER)); turnOnUpLeft.setId(TileIDs.computeID(TileIDs.WIRE_RANGE, TileIDs.TURN, TileIDs.ON, TileIDs.UP_LEFT)); turnOffUpLeft.setId(TileIDs.computeID(TileIDs.WIRE_RANGE, TileIDs.TURN, TileIDs.OFF, TileIDs.UP_LEFT)); turnOnUpRight.setId(TileIDs.computeID(TileIDs.WIRE_RANGE, TileIDs.TURN, TileIDs.ON, TileIDs.UP_RIGHT)); turnOffUpRight.setId(TileIDs.computeID(TileIDs.WIRE_RANGE, TileIDs.TURN, TileIDs.OFF, TileIDs.UP_RIGHT)); turnOnDownLeft.setId(TileIDs.computeID(TileIDs.WIRE_RANGE, TileIDs.TURN, TileIDs.ON, TileIDs.DOWN_LEFT)); turnOffDownLeft.setId(TileIDs.computeID(TileIDs.WIRE_RANGE, TileIDs.TURN, TileIDs.OFF, TileIDs.DOWN_LEFT)); turnOnDownRight.setId(TileIDs.computeID(TileIDs.WIRE_RANGE, TileIDs.TURN, TileIDs.ON, TileIDs.DOWN_RIGHT)); turnOffDownRight/*from w ww .j a v a2 s .co m*/ .setId(TileIDs.computeID(TileIDs.WIRE_RANGE, TileIDs.TURN, TileIDs.OFF, TileIDs.DOWN_RIGHT)); tiles.putTile(turnOnUpLeft.getId(), turnOnUpLeft); tiles.putTile(turnOffUpLeft.getId(), turnOffUpLeft); tiles.putTile(turnOnUpRight.getId(), turnOnUpRight); tiles.putTile(turnOffUpRight.getId(), turnOffUpRight); tiles.putTile(turnOnDownLeft.getId(), turnOnDownLeft); tiles.putTile(turnOffDownLeft.getId(), turnOffDownLeft); tiles.putTile(turnOnDownRight.getId(), turnOnDownRight); tiles.putTile(turnOffDownRight.getId(), turnOffDownRight); loadFish(atlas, BLUE_MODIFIER, TileIDs.BLUE); loadFish(atlas, PURPLE_MODIFIER, TileIDs.PURPLE); loadFish(atlas, GREEN_MODIFIER, TileIDs.GREEN); loadFish(atlas, RED_MODIFIER, TileIDs.RED); loadFish(atlas, ORANGE_MODIFIER, TileIDs.ORANGE); StaticTiledMapTile cheese = new StaticTiledMapTile(atlas.findRegion(CHEESE)); cheese.setId(TileIDs.computeID(TileIDs.POWERUP_RANGE, TileIDs.CHEESE)); tiles.putTile(cheese.getId(), cheese); }
From source file:ca.hiphiparray.amazingmaze.Assets.java
License:Open Source License
/** * Load the fish with the given parameters. * * @param atlas the {@link TextureAtlas} to load from. * @param colourName the name of the colour in the atlas. * @param colourID the ID of the colour in {@link TileIDs}. *//*from w w w. j a v a 2s .c o m*/ private void loadFish(TextureAtlas atlas, String colourName, int colourID) { StaticTiledMapTile fish = new StaticTiledMapTile(atlas.findRegion(FISH + colourName)); fish.setId(TileIDs.computeID(TileIDs.POWERUP_RANGE, TileIDs.FISH, colourID)); tiles.putTile(fish.getId(), fish); }
From source file:ca.hiphiparray.amazingmaze.Assets.java
License:Open Source License
/** * Load all gates for the given parameters. * * @param atlas the {@link TextureAtlas} to load from. * @param electricStateName the name of the electrical state of the gates to load. * @param directionName the name of the direction of the gates to load. * @param electricID the ID of the electrical state of the gates to load. * @param directionID the directional ID of the gates to load. *///from w ww . j av a 2s . c o m private void loadGates(TextureAtlas atlas, String electricStateName, String directionName, int electricID, int directionID) { StaticTiledMapTile and = new StaticTiledMapTile( atlas.findRegion(AND_GATE + electricStateName + directionName)); StaticTiledMapTile nand = new StaticTiledMapTile( atlas.findRegion(NAND_GATE + electricStateName + directionName)); StaticTiledMapTile or = new StaticTiledMapTile( atlas.findRegion(OR_GATE + electricStateName + directionName)); StaticTiledMapTile nor = new StaticTiledMapTile( atlas.findRegion(NOR_GATE + electricStateName + directionName)); StaticTiledMapTile xor = new StaticTiledMapTile( atlas.findRegion(XOR_GATE + electricStateName + directionName)); and.setId(TileIDs.computeID(TileIDs.GATE_RANGE, TileIDs.AND_GATE, directionID, electricID)); nand.setId(TileIDs.computeID(TileIDs.GATE_RANGE, TileIDs.NAND_GATE, directionID, electricID)); or.setId(TileIDs.computeID(TileIDs.GATE_RANGE, TileIDs.OR_GATE, directionID, electricID)); nor.setId(TileIDs.computeID(TileIDs.GATE_RANGE, TileIDs.NOR_GATE, directionID, electricID)); xor.setId(TileIDs.computeID(TileIDs.GATE_RANGE, TileIDs.XOR_GATE, directionID, electricID)); tiles.putTile(and.getId(), and); tiles.putTile(nand.getId(), nand); tiles.putTile(or.getId(), or); tiles.putTile(nor.getId(), nor); tiles.putTile(xor.getId(), xor); }
From source file:de.bitowl.advent.game2.MyAtlasTmxMapLoader.java
License:Apache License
protected void loadTileset(TiledMap map, Element element, FileHandle tmxFile, AtlasResolver resolver, AtlasTiledMapLoaderParameters parameter) { if (element.getName().equals("tileset")) { String name = element.get("name", null); int firstgid = element.getIntAttribute("firstgid", 1); int tilewidth = element.getIntAttribute("tilewidth", 0); int tileheight = element.getIntAttribute("tileheight", 0); int spacing = element.getIntAttribute("spacing", 0); int margin = element.getIntAttribute("margin", 0); String source = element.getAttribute("source", null); String imageSource = ""; int imageWidth = 0, imageHeight = 0; FileHandle image = null;//from w w w .j a va 2 s . c om if (source != null) { FileHandle tsx = getRelativeFileHandle(tmxFile, source); try { element = xml.parse(tsx); name = element.get("name", null); tilewidth = element.getIntAttribute("tilewidth", 0); tileheight = element.getIntAttribute("tileheight", 0); spacing = element.getIntAttribute("spacing", 0); margin = element.getIntAttribute("margin", 0); imageSource = element.getChildByName("image").getAttribute("source"); imageWidth = element.getChildByName("image").getIntAttribute("width", 0); imageHeight = element.getChildByName("image").getIntAttribute("height", 0); } catch (IOException e) { throw new GdxRuntimeException("Error parsing external tileset."); } } else { imageSource = element.getChildByName("image").getAttribute("source"); imageWidth = element.getChildByName("image").getIntAttribute("width", 0); imageHeight = element.getChildByName("image").getIntAttribute("height", 0); } if (!map.getProperties().containsKey("atlas")) { throw new GdxRuntimeException("The map is missing the 'atlas' property"); } // get the TextureAtlas for this tileset FileHandle atlasHandle = getRelativeFileHandle(tmxFile, map.getProperties().get("atlas", String.class)); atlasHandle = resolve(atlasHandle.path()); TextureAtlas atlas = resolver.getAtlas(atlasHandle.path()); //String regionsName = atlasHandle.nameWithoutExtension(); String regionsName = name; if (parameter != null && parameter.forceTextureFilters) { for (Texture texture : atlas.getTextures()) { trackedTextures.add(texture); } } TiledMapTileSet tileset = new TiledMapTileSet(); MapProperties props = tileset.getProperties(); tileset.setName(name); props.put("firstgid", firstgid); props.put("imagesource", imageSource); props.put("imagewidth", imageWidth); props.put("imageheight", imageHeight); props.put("tilewidth", tilewidth); props.put("tileheight", tileheight); props.put("margin", margin); props.put("spacing", spacing); Array<AtlasRegion> regions = atlas.findRegions(regionsName); System.out.println(regions.size); for (AtlasRegion region : regions) { // handle unused tile ids if (region != null) { StaticTiledMapTile tile = new StaticTiledMapTile(region); if (!yUp) { region.flip(false, true); } int tileid = firstgid + region.index; tile.setId(tileid); tileset.putTile(tileid, tile); System.out.println("put tile " + tileid); } } Array<Element> tileElements = element.getChildrenByName("tile"); for (Element tileElement : tileElements) { int localtid = tileElement.getIntAttribute("id", 0); TiledMapTile tile = tileset.getTile(firstgid + localtid); if (tile != null) { String terrain = tileElement.getAttribute("terrain", null); if (terrain != null) { tile.getProperties().put("terrain", terrain); } String probability = tileElement.getAttribute("probability", null); if (probability != null) { tile.getProperties().put("probability", probability); } Element properties = tileElement.getChildByName("properties"); if (properties != null) { loadProperties(tile.getProperties(), properties); } } } Element properties = element.getChildByName("properties"); if (properties != null) { loadProperties(tileset.getProperties(), properties); } System.out.println("add tileset to map: " + tileset.getName()); map.getTileSets().addTileSet(tileset); } }