TileMap

Inherits: Node2D < CanvasItem < Node < Object

Category: Core

Brief Description

Node for 2D tile-based maps.

Member Functions

void clear ( )
int get_cell ( int x, int y ) const
int get_cellv ( Vector2 position ) const
bool get_collision_layer_bit ( int bit ) const
bool get_collision_mask_bit ( int bit ) const
Array get_used_cells ( ) const
Array get_used_cells_by_id ( int id ) const
Rect2 get_used_rect ( )
bool is_cell_transposed ( int x, int y ) const
bool is_cell_x_flipped ( int x, int y ) const
bool is_cell_y_flipped ( int x, int y ) const
Vector2 map_to_world ( Vector2 map_position, bool ignore_half_ofs=false ) const
void set_cell ( int x, int y, int tile, bool flip_x=false, bool flip_y=false, bool transpose=false, Vector2 autotile_coord=Vector2( 0, 0 ) )
void set_cellv ( Vector2 position, int tile, bool flip_x=false, bool flip_y=false, bool transpose=false )
void set_collision_layer_bit ( int bit, bool value )
void set_collision_mask_bit ( int bit, bool value )
void update_bitmask_area ( Vector2 position )
void update_bitmask_region ( Vector2 start=Vector2( 0, 0 ), Vector2 end=Vector2( 0, 0 ) )
Vector2 world_to_map ( Vector2 world_position ) const

Signals

  • settings_changed ( )

Emitted when a tilemap setting has changed.

Member Variables

  • bool cell_clip_uv
  • Transform2D cell_custom_transform - The custom Transform2D to be applied to the TileMap’s cells.
  • HalfOffset cell_half_offset - Amount to offset alternating tiles. Uses HALF_OFFSET_* constants. Default value: HALF_OFFSET_DISABLED.
  • int cell_quadrant_size - The TileMap’s quadrant size. Optimizes drawing by batching, using chunks of this size. Default value: 16.
  • Vector2 cell_size - The TileMap’s cell size.
  • TileOrigin cell_tile_origin - Position for tile origin. Uses TILE_ORIGIN_* constants. Default value: TILE_ORIGIN_TOP_LEFT.
  • bool cell_y_sort - If true the TileMap’s children will be drawn in order of their Y coordinate. Default value: false.
  • float collision_bounce - Bounce value for static body collisions (see collision_use_kinematic). Default value: 0.
  • float collision_friction - Friction value for static body collisions (see collision_use_kinematic). Default value: 1.
  • int collision_layer - The collision layer(s) for all colliders in the TileMap.
  • int collision_mask - The collision mask(s) for all colliders in the TileMap.
  • bool collision_use_kinematic - If true TileMap collisions will be handled as a kinematic body. If false collisions will be handled as static body. Default value: false.
  • Mode mode - The TileMap orientation mode. Uses MODE_* constants. Default value: MODE_SQUARE.
  • int occluder_light_mask - The light mask assigned to all light occluders in the TileMap. The TileSet’s light occluders will cast shadows only from Light2D(s) that have the same light mask(s).
  • TileSet tile_set - The assigned TileSet.

Numeric Constants

  • INVALID_CELL = -1 — Returned when a cell doesn’t exist.

Enums

enum HalfOffset

  • HALF_OFFSET_X = 0 — Half offset on the X coordinate.
  • HALF_OFFSET_Y = 1 — Half offset on the Y coordinate.
  • HALF_OFFSET_DISABLED = 2 — Half offset disabled.

enum TileOrigin

  • TILE_ORIGIN_TOP_LEFT = 0 — Tile origin at its top-left corner.
  • TILE_ORIGIN_CENTER = 1 — Tile origin at its center.
  • TILE_ORIGIN_BOTTOM_LEFT = 2

enum Mode

  • MODE_SQUARE = 0 — Orthogonal orientation mode.
  • MODE_ISOMETRIC = 1 — Isometric orientation mode.
  • MODE_CUSTOM = 2 — Custom orientation mode.

Description

Node for 2D tile-based maps. Tilemaps use a TileSet which contain a list of tiles (textures plus optional collision, navigation, and/or occluder shapes) which are used to create grid-based maps.

Member Function Description

  • void clear ( )

Clear all cells.

Return the tile index of the referenced cell.

Return the tile index of the cell referenced by a Vector2.

  • bool get_collision_layer_bit ( int bit ) const
  • bool get_collision_mask_bit ( int bit ) const
  • Array get_used_cells ( ) const

Return an array of all cells containing a tile from the tileset (i.e. a tile index different from -1).

  • Array get_used_cells_by_id ( int id ) const
  • Rect2 get_used_rect ( )

Return whether the referenced cell is transposed, i.e. the X and Y axes are swapped (mirroring with regard to the (1,1) vector).

Return whether the referenced cell is flipped over the X axis.

Return whether the referenced cell is flipped over the Y axis.

Return the absolute world position corresponding to the tilemap (grid-based) coordinates given as an argument.

Optionally, the tilemap’s potential half offset can be ignored.

  • void set_cell ( int x, int y, int tile, bool flip_x=false, bool flip_y=false, bool transpose=false, Vector2 autotile_coord=Vector2( 0, 0 ) )

Set the tile index for the cell referenced by its grid-based X and Y coordinates.

A tile index of -1 clears the cell.

Optionally, the tile can also be flipped over the X and Y coordinates, transposed, or be given autotile coordinates.

Set the tile index for the cell referenced by a Vector2 of grid-based coordinates.

A tile index of -1 clears the cell.

Optionally, the tile can also be flipped over the X and Y axes or transposed.

  • void set_collision_layer_bit ( int bit, bool value )
  • void set_collision_mask_bit ( int bit, bool value )
  • void update_bitmask_area ( Vector2 position )

Applies autotiling rules to the cell (and its adjacent cells) referenced by its grid-based X and Y coordinates.

  • void update_bitmask_region ( Vector2 start=Vector2( 0, 0 ), Vector2 end=Vector2( 0, 0 ) )

Applies autotiling rules to the cells in the given region (specified by grid-based X and Y coordinates).

Calling with invalid (or missing) parameters applies autotiling rules for the entire TileMap.

Return the tilemap (grid-based) coordinates corresponding to the absolute world position given as an argument.