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 |
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. Iffalse
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 — Tile origin at its bottom-left corner.
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.
- 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).
- 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.
- void set_cellv ( Vector2 position, int tile, bool flip_x=false, bool flip_y=false, bool transpose=false )
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.
Set any collision layer to be true
or false
.
- 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.
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.