.. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead. .. _class_TileMap: TileMap ======= **Inherits:** :ref:`Node2D` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` **Category:** Core Brief Description ----------------- Node for 2D tile-based games. Member Functions ---------------- +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear` **(** **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_cell` **(** :ref:`int` x, :ref:`int` y **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_cell_size` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_cellv` **(** :ref:`Vector2` pos **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_center_x` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_center_y` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_collision_bounce` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_collision_friction` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_collision_layer` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_collision_layer_bit` **(** :ref:`int` bit **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_collision_mask` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_collision_mask_bit` **(** :ref:`int` bit **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_collision_use_kinematic` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Matrix32` | :ref:`get_custom_transform` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_half_offset` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_mode` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_occluder_light_mask` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_quadrant_size` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_tile_origin` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`TileSet` | :ref:`get_tileset` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_used_cells` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_used_cells_by_id` **(** :ref:`int` id **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Rect2` | :ref:`get_used_rect` **(** **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_cell_transposed` **(** :ref:`int` x, :ref:`int` y **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_cell_x_flipped` **(** :ref:`int` x, :ref:`int` y **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_cell_y_flipped` **(** :ref:`int` x, :ref:`int` y **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_y_sort_mode_enabled` **(** **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`map_to_world` **(** :ref:`Vector2` mappos, :ref:`bool` ignore_half_ofs=false **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_cell` **(** :ref:`int` x, :ref:`int` y, :ref:`int` tile, :ref:`bool` flip_x=false, :ref:`bool` flip_y=false, :ref:`bool` transpose=false **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_cell_size` **(** :ref:`Vector2` size **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_cellv` **(** :ref:`Vector2` pos, :ref:`int` tile, :ref:`bool` flip_x=false, :ref:`bool` flip_y=false, :ref:`bool` transpose=false **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_center_x` **(** :ref:`bool` enable **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_center_y` **(** :ref:`bool` enable **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_bounce` **(** :ref:`float` value **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_friction` **(** :ref:`float` value **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_layer` **(** :ref:`int` layer **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_layer_bit` **(** :ref:`int` bit, :ref:`bool` value **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_mask` **(** :ref:`int` mask **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_mask_bit` **(** :ref:`int` bit, :ref:`bool` value **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_use_kinematic` **(** :ref:`bool` use_kinematic **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_custom_transform` **(** :ref:`Matrix32` custom_transform **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_half_offset` **(** :ref:`int` half_offset **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_mode` **(** :ref:`int` mode **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_occluder_light_mask` **(** :ref:`int` mask **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_quadrant_size` **(** :ref:`int` size **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_tile_origin` **(** :ref:`int` origin **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_tileset` **(** :ref:`TileSet` tileset **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_y_sort_mode` **(** :ref:`bool` enable **)** | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`world_to_map` **(** :ref:`Vector2` worldpos **)** const | +----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Signals ------- - **settings_changed** **(** **)** Signal indicating that a tilemap setting has 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. - **TILE_ORIGIN_BOTTOM_LEFT** = **2** Description ----------- Node for 2D tile-based games. Tilemaps use a :ref:`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 :ref:`GridMap`), you can specify a quadrant size, so chunks of the map will be batched together at drawing time. Member Function Description --------------------------- .. _class_TileMap_clear: - void **clear** **(** **)** Clear all cells. .. _class_TileMap_get_cell: - :ref:`int` **get_cell** **(** :ref:`int` x, :ref:`int` y **)** const Return the tile index of the referenced cell. .. _class_TileMap_get_cell_size: - :ref:`Vector2` **get_cell_size** **(** **)** const Return the cell size. .. _class_TileMap_get_cellv: - :ref:`int` **get_cellv** **(** :ref:`Vector2` pos **)** const Return the tile index of the cell referenced by a Vector2. .. _class_TileMap_get_center_x: - :ref:`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). .. _class_TileMap_get_center_y: - :ref:`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). .. _class_TileMap_get_collision_bounce: - :ref:`float` **get_collision_bounce** **(** **)** const Return the collision bounce parameter. .. _class_TileMap_get_collision_friction: - :ref:`float` **get_collision_friction** **(** **)** const Return the collision friction parameter. .. _class_TileMap_get_collision_layer: - :ref:`int` **get_collision_layer** **(** **)** const Return the collision layer. .. _class_TileMap_get_collision_layer_bit: - :ref:`bool` **get_collision_layer_bit** **(** :ref:`int` bit **)** const .. _class_TileMap_get_collision_mask: - :ref:`int` **get_collision_mask** **(** **)** const Return the collision mask. .. _class_TileMap_get_collision_mask_bit: - :ref:`bool` **get_collision_mask_bit** **(** :ref:`int` bit **)** const .. _class_TileMap_get_collision_use_kinematic: - :ref:`bool` **get_collision_use_kinematic** **(** **)** const Return whether the tilemap handles collisions as a kinematic body. .. _class_TileMap_get_custom_transform: - :ref:`Transform2D` **get_custom_transform** **(** **)** const Return the custom transform matrix. .. _class_TileMap_get_half_offset: - :ref:`int` **get_half_offset** **(** **)** const Return the current half offset configuration. .. _class_TileMap_get_mode: - :ref:`int` **get_mode** **(** **)** const Return the orientation mode. .. _class_TileMap_get_occluder_light_mask: - :ref:`int` **get_occluder_light_mask** **(** **)** const .. _class_TileMap_get_quadrant_size: - :ref:`int` **get_quadrant_size** **(** **)** const Return the quadrant size. .. _class_TileMap_get_tile_origin: - :ref:`int` **get_tile_origin** **(** **)** const Return the tile origin configuration. .. _class_TileMap_get_tileset: - :ref:`TileSet` **get_tileset** **(** **)** const Return the current tileset. .. _class_TileMap_get_used_cells: - :ref:`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). .. _class_TileMap_get_used_cells_by_id: - :ref:`Array` **get_used_cells_by_id** **(** :ref:`int` id **)** const .. _class_TileMap_get_used_rect: - :ref:`Rect2` **get_used_rect** **(** **)** .. _class_TileMap_is_cell_transposed: - :ref:`bool` **is_cell_transposed** **(** :ref:`int` x, :ref:`int` y **)** const Return whether the referenced cell is transposed, i.e. the X and Y axes are swapped (mirroring with regard to the (1,1) vector). .. _class_TileMap_is_cell_x_flipped: - :ref:`bool` **is_cell_x_flipped** **(** :ref:`int` x, :ref:`int` y **)** const Return whether the referenced cell is flipped over the X axis. .. _class_TileMap_is_cell_y_flipped: - :ref:`bool` **is_cell_y_flipped** **(** :ref:`int` x, :ref:`int` y **)** const Return whether the referenced cell is flipped over the Y axis. .. _class_TileMap_is_y_sort_mode_enabled: - :ref:`bool` **is_y_sort_mode_enabled** **(** **)** const Return the Y sort mode. .. _class_TileMap_map_to_world: - :ref:`Vector2` **map_to_world** **(** :ref:`Vector2` mappos, :ref:`bool` ignore_half_ofs=null **)** const 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. .. _class_TileMap_set_cell: - void **set_cell** **(** :ref:`int` x, :ref:`int` y, :ref:`int` tile, :ref:`bool` flip_x=null, :ref:`bool` flip_y=null, :ref:`bool` transpose=null **)** 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. .. _class_TileMap_set_cell_size: - void **set_cell_size** **(** :ref:`Vector2` size **)** Set the cell size. .. _class_TileMap_set_cellv: - void **set_cellv** **(** :ref:`Vector2` pos, :ref:`int` tile, :ref:`bool` flip_x=false, :ref:`bool` flip_y=null, :ref:`bool` transpose=null **)** 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. .. _class_TileMap_set_center_x: - void **set_center_x** **(** :ref:`bool` enable **)** Set tiles to be centered in x coordinate. (by default this is false and they are drawn from upper left cell corner). .. _class_TileMap_set_center_y: - void **set_center_y** **(** :ref:`bool` enable **)** Set tiles to be centered in y coordinate. (by default this is false and they are drawn from upper left cell corner). .. _class_TileMap_set_collision_bounce: - void **set_collision_bounce** **(** :ref:`float` value **)** Set the collision bounce parameter. Allowable values range from 0 to 1. .. _class_TileMap_set_collision_friction: - void **set_collision_friction** **(** :ref:`float` value **)** Set the collision friction parameter. Allowable values range from 0 to 1. .. _class_TileMap_set_collision_layer: - void **set_collision_layer** **(** :ref:`int` layer **)** 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. .. _class_TileMap_set_collision_layer_bit: - void **set_collision_layer_bit** **(** :ref:`int` bit, :ref:`bool` value **)** .. _class_TileMap_set_collision_mask: - void **set_collision_mask** **(** :ref:`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. .. _class_TileMap_set_collision_mask_bit: - void **set_collision_mask_bit** **(** :ref:`int` bit, :ref:`bool` value **)** .. _class_TileMap_set_collision_use_kinematic: - void **set_collision_use_kinematic** **(** :ref:`bool` use_kinematic **)** Set the tilemap to handle collisions as a kinematic body (enabled) or a static body (disabled). .. _class_TileMap_set_custom_transform: - void **set_custom_transform** **(** :ref:`Transform2D` custom_transform **)** Set custom transform matrix, to use in combination with the custom orientation mode. .. _class_TileMap_set_half_offset: - void **set_half_offset** **(** :ref:`int` half_offset **)** Set a 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. .. _class_TileMap_set_mode: - void **set_mode** **(** :ref:`int` mode **)** Set the orientation mode as square, isometric or custom (use MODE\_\* constants as argument). .. _class_TileMap_set_occluder_light_mask: - void **set_occluder_light_mask** **(** :ref:`int` mask **)** .. _class_TileMap_set_quadrant_size: - void **set_quadrant_size** **(** :ref:`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. .. _class_TileMap_set_tile_origin: - void **set_tile_origin** **(** :ref:`int` origin **)** Set the tile origin to the tile center or its top-left corner (use TILE_ORIGIN\_\* constants as argument). .. _class_TileMap_set_tileset: - void **set_tileset** **(** :ref:`TileSet` tileset **)** Set the current tileset. .. _class_TileMap_set_y_sort_mode: - void **set_y_sort_mode** **(** :ref:`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. .. _class_TileMap_world_to_map: - :ref:`Vector2` **world_to_map** **(** :ref:`Vector2` worldpos **)** const Return the tilemap (grid-based) coordinates corresponding to the absolute world position given as an argument.