Class Maps
java.lang.Object
public final class Maps
extends ResourcesContainer<IMap>
Nested Class Summary
Nested Classes Modifier and Type Class Description class
Maps.MapGenerator
This class provides the API to simplify the generation of map resources from code.Method Summary
Modifier and Type Method Description Maps.MapGenerator
generate(IMapOrientation orientation, java.lang.String name, int width, int height, int tileWidth, int tileHeight, ITileset... tilesets)
Starts a process that allows the generation of maps from code.protected java.lang.String
getAlias(java.lang.String resourceName, IMap resource)
Gets an alias for the specified resourceName.static boolean
isSupported(java.lang.String fileName)
protected IMap
load(java.net.URL resourceName)
Methods inherited from class de.gurkenlabs.litiengine.resources.ResourcesContainer
add, add, addClearedListener, addContainerListener, clear, contains, contains, contains, count, get, get, get, get, get, get, get, getAll, getAsync, getAsync, getResources, remove, remove, removeClearedListener, removeContainerListener, tryGet, tryGet
Method Details
isSupported
public static boolean isSupported(java.lang.String fileName)generate
public Maps.MapGenerator generate(IMapOrientation orientation, java.lang.String name, int width, int height, int tileWidth, int tileHeight, ITileset... tilesets)Starts a process that allows the generation of maps from code.Notice that you must call this within a try-with block or ensure that
Maps.MapGenerator.close()
is called before using the generated map instance.Example usage:
IMap map; try (MapGenerator generator = Resources.maps().generate("name", 50, 50, 16, 16, Resources.tilesets().get("tileset.tsx"))) { ITileLayer tileLayer = generator.addTileLayer(RenderType.GROUND, (x, y) -> { if (x == y) { // draw a diagonal in another tile color return 2; } // fill the entire map with this tile return 1; }); // set an explicit tile at a location tileLayer.setTile(10, 10, 3); // add a collision box to the map generator.add(new CollisionBox(0, 64, 100, 10)); map = generator.getMap(); }
- Parameters:
orientation
- The orientation of the map to be generated.name
- The name of the map to be generated.width
- The width (in tiles).height
- The height (in tiles).tileWidth
- The width of a tile (in pixels).tileHeight
- The height of a tile (in pixels).tilesets
- Tilesets that will be used by the map.- Returns:
- A
MapGenerator
instance used to add additional layers or objects to the map.
load
protected IMap load(java.net.URL resourceName) throws java.io.IOException, java.net.URISyntaxException- Specified by:
load
in classResourcesContainer<IMap>
- Throws:
java.io.IOException
java.net.URISyntaxException
getAlias
Description copied from class:ResourcesContainer
Gets an alias for the specified resourceName. Note that the process of providing an alias is up to the ResourceContainer implementation.- Overrides:
getAlias
in classResourcesContainer<IMap>
- Parameters:
resourceName
- The original name of the resource.resource
- The resource.- Returns:
- An alias for the specified resource.