Class TTiledMap

Unit

Declaration

type TTiledMap = class(TObject)

Description

Loading and manipulating "Tiled" map files (http://mapeditor.org).

Hierarchy

Overview

Nested Classes and Records

Public TAnimation = class(specialize TObjectList<TFrame>)
Public TData = class(TObject)
Public TFrame = class(TObject)
Public TImage = class(TObject)
Public TImageLayer = class(TLayer)
Public TLayer = class(TObject)
Public TObjectGroupLayer = class(TLayer)
Public TProperty = class(TObject)
Public TPropertyList = class(specialize TObjectList<TProperty>)
Public TTerrain = class(TObject)
Public TTile = class(TObject)
Public TTiledObject = class(TObject)
Public TTileset = class(TObject)

Nested Types

Published TCompressionType = (...);
Published TEncodingType = (...);
Public TLayerList = specialize TObjectList<TLayer>;
Published TMapOrientation = (...);
Published TMapRenderOrder = (...);
Published TObjectsDrawOrder = (...);
Published TStaggerAxis = (...);
Published TStaggerIndex = (...);
Public TTerrainTypes = specialize TObjectList<TTerrain>;
Public TTiledObjectList = specialize TObjectList<TTiledObject>;
Published TTiledObjectPrimitive = (...);
Public TTileList = specialize TObjectList<TTile>;
Public TTilesetList = specialize TObjectList<TTileset>;

Methods

Public constructor Create(const Stream: TStream; const ABaseUrl: String); overload;
Public constructor Create(const AURL: string); overload;
Public destructor Destroy; override;
Public function TilePositionValid(const TilePosition: TVector2Integer): Boolean;
Public function PositionToTile(const Position: TVector2; out TilePosition: TVector2Integer): Boolean;
Public function TileRenderPosition(const TilePosition: TVector2Integer): TVector2;
Public function TileRenderData(const TilePosition: TVector2Integer; const Layer: TTiledMap.TLayer; out Tileset: TTiledMap.TTileset; out Frame: Integer; out HorizontalFlip, VerticalFlip, DiagonalFlip: Boolean): Boolean;
Public function TileNeighbor(const Tile1, Tile2: TVector2Integer; const CornersAreNeighbors: Boolean): Boolean;

Properties

Public property Layers: TLayerList read FLayers;
Public property Orientation: TMapOrientation read FOrientation;
Public property Properties: TPropertyList read FProperties;
Public property Tilesets: TTilesetList read FTilesets;
Public property Width: Cardinal read FWidth;
Public property Height: Cardinal read FHeight;
Public property TileWidth: Cardinal read FTileWidth;
Public property TileHeight: Cardinal read FTileHeight;
Public property HexSideLength: Cardinal read FHexSideLength;
Public property StaggerAxis: TStaggerAxis read FStaggerAxis;
Public property StaggerIndex: TStaggerIndex read FStaggerIndex;
Public property BackgroundColor: TCastleColor read FBackgroundColor;
Public property RenderOrder: TMapRenderOrder read FRenderOrder;

Description

Nested Types

Published TCompressionType = (...);
 
Values
  • ctNone
  • ctGZip
  • ctZLib
Published TEncodingType = (...);
 
Values
  • etNone
  • etBase64
  • etCSV
Public TLayerList = specialize TObjectList<TLayer>;

List of layers.

Published TMapOrientation = (...);
 
Values
  • moOrthogonal
  • moIsometric
  • moIsometricStaggered
  • moHexagonal
Published TMapRenderOrder = (...);
 
Values
  • mroRightDown
  • mroRightUp
  • mroLeftDown
  • mroLeftUp
Published TObjectsDrawOrder = (...);
 
Values
  • odoIndex
  • odoTopDown
Published TStaggerAxis = (...);
 
Values
  • saX
  • saY
Published TStaggerIndex = (...);
 
Values
  • siOdd
  • siEven
Public TTerrainTypes = specialize TObjectList<TTerrain>;

This element defines an array of terrain types, which can be referenced from the terrain attribute of the tile element.

Public TTiledObjectList = specialize TObjectList<TTiledObject>;
 
Published TTiledObjectPrimitive = (...);
 
Values
  • topRectangle
  • topPoint
  • topEllipse
  • topPolygon
  • topPolyLine
Public TTileList = specialize TObjectList<TTile>;

Tiles list.

Public TTilesetList = specialize TObjectList<TTileset>;

List of tilesets.

Methods

Public constructor Create(const Stream: TStream; const ABaseUrl: String); overload;

Constructor.

Parameters
AURL
URL to Tiled (TMX) file.
Public constructor Create(const AURL: string); overload;
 
Public destructor Destroy; override;
 
Public function TilePositionValid(const TilePosition: TVector2Integer): Boolean;

Is the given tile number valid. Valid map tiles are from (0, 0) (lower-left) to (Width - 1, Height - 1) (upper-right).

Public function PositionToTile(const Position: TVector2; out TilePosition: TVector2Integer): Boolean;

Detect tile under given position.

Similar to TCastleTiledMapControl.PositionToTile. Given TilePosition must be in local map coordinates, where each map piece has size (TileWidth, TileHeight), and map bottom-left corner is in (0, 0).

This method returns False if the position is outside of the map. Valid map tiles are defined as by TilePositionValid.

Public function TileRenderPosition(const TilePosition: TVector2Integer): TVector2;

Left-bottom corner where the given tile should be rendered.

Public function TileRenderData(const TilePosition: TVector2Integer; const Layer: TTiledMap.TLayer; out Tileset: TTiledMap.TTileset; out Frame: Integer; out HorizontalFlip, VerticalFlip, DiagonalFlip: Boolean): Boolean;

Information about which image (and how) should be displayed at given map position.

Public function TileNeighbor(const Tile1, Tile2: TVector2Integer; const CornersAreNeighbors: Boolean): Boolean;

Are the two given tiles neighbors. Takes into account map Orientation, so it works for hexagonal, orthogonal etc. maps.

Properties

Public property Layers: TLayerList read FLayers;
 
Public property Orientation: TMapOrientation read FOrientation;

Map orientation.

Public property Properties: TPropertyList read FProperties;
 
Public property Tilesets: TTilesetList read FTilesets;
 
Public property Width: Cardinal read FWidth;

The map width in tiles.

Public property Height: Cardinal read FHeight;

The map height in tiles.

Public property TileWidth: Cardinal read FTileWidth;

The width of a tile.

Public property TileHeight: Cardinal read FTileHeight;

The height of a tile.

Public property HexSideLength: Cardinal read FHexSideLength;

The height of a hexagon side. Only relevant when Orientation = moHexagonal.

Public property StaggerAxis: TStaggerAxis read FStaggerAxis;

Only relevant when Orientation = moIsometricStaggered or moHexagonal.

Public property StaggerIndex: TStaggerIndex read FStaggerIndex;

Which rows are shifted by 1. Only relevant when Orientation = moIsometricStaggered or moHexagonal.

Public property BackgroundColor: TCastleColor read FBackgroundColor;

Background color of the map. It may be unset in Tiled, which results in transparent color here.

Public property RenderOrder: TMapRenderOrder read FRenderOrder;

The order in which tiles on tile layers are rendered. Valid values are right-down (the default), right-up, left-down and left-up. In all cases, the map is drawn row-by-row. (since 0.10, but only supported for orthogonal maps at the moment)


Generated by PasDoc 0.16.0.