TileMap¶
Inherits: Node2D < CanvasItem < Node < Object
Category: Core
Brief Description¶
Node for 2D tile-based games.
Member Functions¶
Signals¶
- settings_changed ( )
Numeric Constants¶
- INVALID_CELL = -1 — Returned when a cell doesn’t exist.
- MODE_SQUARE = 0 — Orthogonal orientation mode.
- MODE_ISOMETRIC = 1 — Isometric orientation mode.
- MODE_CUSTOM = 2 — Custom orientation mode.
- 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.
- TILE_ORIGIN_TOP_LEFT = 0 — Tile origin at its top-left corner.
- TILE_ORIGIN_CENTER = 1 — Tile origin at its center.
Description¶
Node for 2D tile-based games. Tilemaps use a TileSet which contain a list of tiles (textures, their rect and a collision) and are used to create complex grid-based maps.
To optimize drawing and culling (sort of like GridMap), you can specify a quadrant size, so chunks of the map will be batched together at drawing time.
Member Function Description¶
- void clear ( )
Clear all cells.
Return the tile index of the referenced cell.
- Vector2 get_cell_size ( ) const
Return the cell size.
Return the tile index of the cell referenced by a Vector2.
- bool get_center_x ( ) const
Return true if tiles are to be centered in x coordinate (by default this is false and they are drawn from upper left cell corner).
- bool get_center_y ( ) const
Return true if tiles are to be centered in y coordinate (by default this is false and they are drawn from upper left cell corner).
- float get_collision_bounce ( ) const
Return the collision bounce parameter.
- float get_collision_friction ( ) const
Return the collision friction parameter.
- int get_collision_layer ( ) const
Return the collision layer.
- int get_collision_mask ( ) const
Return the collision mask.
- bool get_collision_use_kinematic ( ) const
Return whether the tilemap handles collisions as a kinematic body.
- Matrix32 get_custom_transform ( ) const
Return the custom transform matrix.
- int get_half_offset ( ) const
Return the current half offset configuration.
- int get_mode ( ) const
Return the orientation mode.
- int get_occluder_light_mask ( ) const
- int get_quadrant_size ( ) const
Return the quadrant size.
- int get_tile_origin ( ) const
Return the tile origin configuration.
- TileSet get_tileset ( ) const
Return the current tileset.
- 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).
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.
- bool is_y_sort_mode_enabled ( ) const
Return the Y sort mode.
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 )
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 or transposed.
- void set_cell_size ( Vector2 size )
Set the cell size.
- void set_cellv ( Vector2 pos, 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.
- void set_center_x ( bool enable )
Set tiles to be centered in x coordinate. (by default this is false and they are drawn from upper left cell corner).
- void set_center_y ( bool enable )
Set tiles to be centered in y coordinate. (by default this is false and they are drawn from upper left cell corner).
- void set_collision_bounce ( float value )
Set the collision bounce parameter.
Allowable values range from 0 to 1.
- void set_collision_friction ( float value )
Set the collision friction parameter.
Allowable values range from 0 to 1.
- void set_collision_layer ( int mask )
Set the collision layer.
Layers are referenced by binary indexes, so allowable values to describe the 20 available layers range from 0 to 2^20-1.
- void set_collision_mask ( int mask )
Set the collision masks.
Masks are referenced by binary indexes, so allowable values to describe the 20 available masks range from 0 to 2^20-1.
- void set_collision_use_kinematic ( bool use_kinematic )
Set the tilemap to handle collisions as a kinematic body (enabled) or a static body (disabled).
- void set_custom_transform ( Matrix32 custom_transform )
Set custom transform matrix, to use in combination with the custom orientation mode.
- void set_half_offset ( int half_offset )
Set an half offset on the X coordinate, Y coordinate, or none (use HALF_OFFSET_* constants as argument).
Half offset sets every other tile off by a half tile size in the specified direction.
- void set_mode ( int mode )
Set the orientation mode as square, isometric or custom (use MODE_* constants as argument).
- void set_occluder_light_mask ( int mask )
- void set_quadrant_size ( int size )
Set the quadrant size, this optimizes drawing by batching chunks of map at draw/cull time.
Allowed values are integers ranging from 1 to 128.
- void set_tile_origin ( int origin )
Set the tile origin to the tile center or its top-left corner (use TILE_ORIGIN_* constants as argument).
- void set_tileset ( TileSet tileset )
Set the current tileset.
- void set_y_sort_mode ( bool enable )
Set the Y sort mode. Enabled Y sort mode means that children of the tilemap will be drawn in the order defined by their Y coordinate.
A tile with a higher Y coordinate will therefore be drawn later, potentially covering up the tile(s) above it if its sprite is higher than its cell size.
Return the tilemap (grid-based) coordinates corresponding to the absolute world position given as an argument.