285 lines
13 KiB
XML
285 lines
13 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="TileMap" inherits="Node2D" version="4.0">
|
|
<brief_description>
|
|
Node for 2D tile-based maps.
|
|
</brief_description>
|
|
<description>
|
|
Node for 2D tile-based maps. Tilemaps use a [TileSet] which contain a list of tiles which are used to create grid-based maps. A TileMap may have several layers, layouting tiles on top of each other.
|
|
</description>
|
|
<tutorials>
|
|
<link title="Using Tilemaps">https://docs.godotengine.org/en/latest/tutorials/2d/using_tilemaps.html</link>
|
|
<link title="2D Platformer Demo">https://godotengine.org/asset-library/asset/120</link>
|
|
<link title="2D Isometric Demo">https://godotengine.org/asset-library/asset/112</link>
|
|
<link title="2D Hexagonal Demo">https://godotengine.org/asset-library/asset/111</link>
|
|
<link title="2D Navigation Astar Demo">https://godotengine.org/asset-library/asset/519</link>
|
|
<link title="2D Role Playing Game Demo">https://godotengine.org/asset-library/asset/520</link>
|
|
<link title="2D Kinematic Character Demo">https://godotengine.org/asset-library/asset/113</link>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="add_layer">
|
|
<return type="void" />
|
|
<argument index="0" name="to_position" type="int" />
|
|
<description>
|
|
Adds a layer at the given position [code]to_position[/code] in the array. If [code]to_position[/code] is -1, adds it at the end of the array.
|
|
</description>
|
|
</method>
|
|
<method name="clear">
|
|
<return type="void" />
|
|
<description>
|
|
Clears all cells.
|
|
</description>
|
|
</method>
|
|
<method name="clear_layer">
|
|
<return type="void" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<description>
|
|
Clears all cells on the given layer.
|
|
</description>
|
|
</method>
|
|
<method name="fix_invalid_tiles">
|
|
<return type="void" />
|
|
<description>
|
|
Clears cells that do not exist in the tileset.
|
|
</description>
|
|
</method>
|
|
<method name="get_cell_alternative_tile" qualifiers="const">
|
|
<return type="int" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<argument index="1" name="coords" type="Vector2i" />
|
|
<argument index="2" name="use_proxies" type="bool" />
|
|
<description>
|
|
Returns the tile alternative ID of the cell on layer [code]layer[/code] at [code]coords[/code]. If [code]use_proxies[/code] is [code]false[/code], ignores the [TileSet]'s tile proxies, returning the raw alternative identifier. See [method TileSet.map_tile_proxy].
|
|
</description>
|
|
</method>
|
|
<method name="get_cell_atlas_coords" qualifiers="const">
|
|
<return type="Vector2i" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<argument index="1" name="coords" type="Vector2i" />
|
|
<argument index="2" name="use_proxies" type="bool" />
|
|
<description>
|
|
Returns the tile atlas coordinates ID of the cell on layer [code]layer[/code] at coordinates [code]coords[/code]. If [code]use_proxies[/code] is [code]false[/code], ignores the [TileSet]'s tile proxies, returning the raw alternative identifier. See [method TileSet.map_tile_proxy].
|
|
</description>
|
|
</method>
|
|
<method name="get_cell_source_id" qualifiers="const">
|
|
<return type="int" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<argument index="1" name="coords" type="Vector2i" />
|
|
<argument index="2" name="use_proxies" type="bool" />
|
|
<description>
|
|
Returns the tile source ID of the cell on layer [code]layer[/code] at coordinates [code]coords[/code]. If [code]use_proxies[/code] is [code]false[/code], ignores the [TileSet]'s tile proxies, returning the raw alternative identifier. See [method TileSet.map_tile_proxy].
|
|
</description>
|
|
</method>
|
|
<method name="get_coords_for_body_rid">
|
|
<return type="Vector2i" />
|
|
<argument index="0" name="body" type="RID" />
|
|
<description>
|
|
Returns the coodinates of the tile for given physics body RID. Such RID can be retrieved from [method KinematicCollision2D.get_collider_rid], when colliding with a tile.
|
|
</description>
|
|
</method>
|
|
<method name="get_layer_modulate" qualifiers="const">
|
|
<return type="Color" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<description>
|
|
Returns a TileMap layer's modulate.
|
|
</description>
|
|
</method>
|
|
<method name="get_layer_name" qualifiers="const">
|
|
<return type="String" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<description>
|
|
Returns a TileMap layer's name.
|
|
</description>
|
|
</method>
|
|
<method name="get_layer_y_sort_origin" qualifiers="const">
|
|
<return type="int" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<description>
|
|
Returns a TileMap layer's Y sort origin.
|
|
</description>
|
|
</method>
|
|
<method name="get_layer_z_index" qualifiers="const">
|
|
<return type="int" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<description>
|
|
Returns a TileMap layer's Z-index value.
|
|
</description>
|
|
</method>
|
|
<method name="get_layers_count" qualifiers="const">
|
|
<return type="int" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="get_neighbor_cell" qualifiers="const">
|
|
<return type="Vector2i" />
|
|
<argument index="0" name="coords" type="Vector2i" />
|
|
<argument index="1" name="neighbor" type="int" enum="TileSet.CellNeighbor" />
|
|
<description>
|
|
Returns the neighboring cell to the one at coordinates [code]coords[/code], indentified by the [code]neighbor[/code] direction. This method takes into account the different layouts a TileMap can take.
|
|
</description>
|
|
</method>
|
|
<method name="get_surrounding_tiles">
|
|
<return type="Vector2i[]" />
|
|
<argument index="0" name="coords" type="Vector2i" />
|
|
<description>
|
|
Returns the list of all neighbourings cells to the one at [code]coords[/code]
|
|
</description>
|
|
</method>
|
|
<method name="get_used_cells" qualifiers="const">
|
|
<return type="Vector2i[]" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<description>
|
|
Returns a [Vector2] array with the positions of all cells containing a tile in the given layer. A cell is considered empty if its source identifier equals -1, its atlas coordinates identifiers is [code]Vector2(-1, -1)[/code] and its alternative identifier is -1.
|
|
</description>
|
|
</method>
|
|
<method name="get_used_rect">
|
|
<return type="Rect2" />
|
|
<description>
|
|
Returns a rectangle enclosing the used (non-empty) tiles of the map, including all layers.
|
|
</description>
|
|
</method>
|
|
<method name="is_layer_enabled" qualifiers="const">
|
|
<return type="bool" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<description>
|
|
Returns if a layer is enabled.
|
|
</description>
|
|
</method>
|
|
<method name="is_layer_y_sort_enabled" qualifiers="const">
|
|
<return type="bool" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<description>
|
|
Returns if a layer Y-sorts its tiles.
|
|
</description>
|
|
</method>
|
|
<method name="map_to_world" qualifiers="const">
|
|
<return type="Vector2" />
|
|
<argument index="0" name="map_position" type="Vector2i" />
|
|
<description>
|
|
Returns the local position corresponding to the given tilemap (grid-based) coordinates.
|
|
</description>
|
|
</method>
|
|
<method name="move_layer">
|
|
<return type="void" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<argument index="1" name="to_position" type="int" />
|
|
<description>
|
|
Moves the layer at index [code]layer_index[/code] to the given position [code]to_position[/code] in the array.
|
|
</description>
|
|
</method>
|
|
<method name="remove_layer">
|
|
<return type="void" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<description>
|
|
Moves the layer at index [code]layer_index[/code] to the given position [code]to_position[/code] in the array.
|
|
</description>
|
|
</method>
|
|
<method name="set_cell">
|
|
<return type="void" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<argument index="1" name="coords" type="Vector2i" />
|
|
<argument index="2" name="source_id" type="int" default="-1" />
|
|
<argument index="3" name="atlas_coords" type="Vector2i" default="Vector2i(-1, -1)" />
|
|
<argument index="4" name="alternative_tile" type="int" default="-1" />
|
|
<description>
|
|
Sets the tile indentifiers for the cell on layer [code]layer[/code] at coordinates [code]coords[/code]. Each tile of the [TileSet] is identified using three parts:
|
|
- The source indentifier [code]source_id[/code] identifies a [TileSetSource] identifier. See [method TileSet.set_source_id],
|
|
- The atlas coordinates identifier [code]atlas_coords[/code] identifies a tile coordinates in the atlas (if the source is a [TileSetAtlasSource]. For [TileSetScenesCollectionSource] it should be 0),
|
|
- The alternative tile identifier [code]alternative_tile[/code] identifies a tile alternative the source is a [TileSetAtlasSource], and the scene for a [TileSetScenesCollectionSource].
|
|
</description>
|
|
</method>
|
|
<method name="set_layer_enabled">
|
|
<return type="void" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<argument index="1" name="enabled" type="bool" />
|
|
<description>
|
|
Enables or disables the layer [code]layer[/code]. A disabled layer is not processed at all (no rendering, no physics, etc...).
|
|
</description>
|
|
</method>
|
|
<method name="set_layer_modulate">
|
|
<return type="void" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<argument index="1" name="enabled" type="Color" />
|
|
<description>
|
|
Sets a layer's color. It will be multiplied by tile's color and TileMap's modulate.
|
|
</description>
|
|
</method>
|
|
<method name="set_layer_name">
|
|
<return type="void" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<argument index="1" name="name" type="String" />
|
|
<description>
|
|
Sets a layer's name. This is mostly useful in the editor.
|
|
</description>
|
|
</method>
|
|
<method name="set_layer_y_sort_enabled">
|
|
<return type="void" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<argument index="1" name="y_sort_enabled" type="bool" />
|
|
<description>
|
|
Enables or disables a layer's Y-sorting. If a layer is Y-sorted, the layer will behave as a CanvasItem node where each of its tile gets Y-sorted.
|
|
Y-sorted layers should usually be on different Z-index values than not Y-sorted layers, otherwise, each of those layer will be Y-sorted as whole with the Y-sorted one. This is usually an undesired behvaior.
|
|
</description>
|
|
</method>
|
|
<method name="set_layer_y_sort_origin">
|
|
<return type="void" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<argument index="1" name="y_sort_origin" type="int" />
|
|
<description>
|
|
Sets a layer's Y-sort origin value. This Y-sort origin value is added to each tile's Y-sort origin value.
|
|
This allows, for example, to fake a different height level on each layer. This can be useful for top-down view games.
|
|
</description>
|
|
</method>
|
|
<method name="set_layer_z_index">
|
|
<return type="void" />
|
|
<argument index="0" name="layer" type="int" />
|
|
<argument index="1" name="z_index" type="int" />
|
|
<description>
|
|
Sets a layers Z-index value. This Z-index is added to each tile's Z-index value.
|
|
</description>
|
|
</method>
|
|
<method name="world_to_map" qualifiers="const">
|
|
<return type="Vector2i" />
|
|
<argument index="0" name="world_position" type="Vector2" />
|
|
<description>
|
|
Returns the tilemap (grid-based) coordinates corresponding to the given local position.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="cell_quadrant_size" type="int" setter="set_quadrant_size" getter="get_quadrant_size" default="16">
|
|
The TileMap's quadrant size. Optimizes drawing by batching, using chunks of this size.
|
|
</member>
|
|
<member name="collision_animatable" type="bool" setter="set_collision_animatable" getter="is_collision_animatable" default="false">
|
|
If enabled, the TileMap will see its collisions synced to the physics tick and change its collision type from static to kinematic. This is required to create TileMap-based moving platform.
|
|
[b]Note:[/b] Enabling [code]collision_animatable[/code] may have a small performance impact, only do it if the TileMap is moving and has colliding tiles.
|
|
</member>
|
|
<member name="collision_visibility_mode" type="int" setter="set_collision_visibility_mode" getter="get_collision_visibility_mode" enum="TileMap.VisibilityMode" default="0">
|
|
Show or hide the TileMap's collision shapes. If set to [code]VISIBILITY_MODE_DEFAULT[/code], this depends on the show collision debug settings.
|
|
</member>
|
|
<member name="navigation_visibility_mode" type="int" setter="set_navigation_visibility_mode" getter="get_navigation_visibility_mode" enum="TileMap.VisibilityMode" default="0">
|
|
Show or hide the TileMap's collision shapes. If set to [code]VISIBILITY_MODE_DEFAULT[/code], this depends on the show navigation debug settings.
|
|
</member>
|
|
<member name="tile_set" type="TileSet" setter="set_tileset" getter="get_tileset">
|
|
The assigned [TileSet].
|
|
</member>
|
|
</members>
|
|
<signals>
|
|
<signal name="changed">
|
|
<description>
|
|
Emitted when the [TileSet] of this TileMap changes.
|
|
</description>
|
|
</signal>
|
|
</signals>
|
|
<constants>
|
|
<constant name="VISIBILITY_MODE_DEFAULT" value="0" enum="VisibilityMode">
|
|
Use the debug settings to determine visibility.
|
|
</constant>
|
|
<constant name="VISIBILITY_MODE_FORCE_HIDE" value="2" enum="VisibilityMode">
|
|
Always hide.
|
|
</constant>
|
|
<constant name="VISIBILITY_MODE_FORCE_SHOW" value="1" enum="VisibilityMode">
|
|
Always show.
|
|
</constant>
|
|
</constants>
|
|
</class>
|