2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-02-01 02:03:48 +01:00
<class name= "TileMap" inherits= "Node2D" version= "4.0" >
2017-09-12 22:42:36 +02:00
<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 (textures plus optional collision, navigation, and/or occluder shapes) which are used to create grid-based maps.
2021-01-22 19:03:09 +01:00
When doing physics queries against the tilemap, the cell coordinates are encoded as [code]metadata[/code] for each detected collision shape returned by methods such as [method PhysicsDirectSpaceState2D.intersect_shape], [method PhysicsDirectBodyState2D.get_contact_collider_shape_metadata] etc.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
2020-08-05 14:43:40 +02:00
<link title= "Using Tilemaps" > https://docs.godotengine.org/en/latest/tutorials/2d/using_tilemaps.html</link>
2020-10-01 10:34:47 +02:00
<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>
2017-09-12 22:42:36 +02:00
</tutorials>
<methods >
<method name= "clear" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2017-09-12 22:42:36 +02:00
<description >
2018-05-13 02:58:45 +02:00
Clears all cells.
2017-09-12 22:42:36 +02:00
</description>
</method>
2018-02-24 06:56:48 +01:00
<method name= "fix_invalid_tiles" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2018-02-24 06:56:48 +01:00
<description >
2018-05-13 02:58:45 +02:00
Clears cells that do not exist in the tileset.
2018-02-24 06:56:48 +01:00
</description>
</method>
2021-05-07 15:41:39 +02:00
<method name= "get_cell_alternative_tile" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
<argument index= "0" name= "coords" type= "Vector2i" />
<argument index= "1" name= "use_proxies" type= "bool" />
2017-09-12 22:42:36 +02:00
<description >
</description>
</method>
2021-05-07 15:41:39 +02:00
<method name= "get_cell_atlas_coords" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "Vector2i" />
<argument index= "0" name= "coords" type= "Vector2i" />
<argument index= "1" name= "use_proxies" type= "bool" />
2018-12-27 11:10:09 +01:00
<description >
</description>
</method>
2021-05-07 15:41:39 +02:00
<method name= "get_cell_source_id" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
<argument index= "0" name= "coords" type= "Vector2i" />
<argument index= "1" name= "use_proxies" type= "bool" />
2017-09-12 22:42:36 +02:00
<description >
</description>
</method>
2021-05-07 15:41:39 +02:00
<method name= "get_neighbor_cell" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "Vector2i" />
<argument index= "0" name= "coords" type= "Vector2i" />
<argument index= "1" name= "neighbor" type= "int" enum= "TileSet.CellNeighbor" />
2017-09-12 22:42:36 +02:00
<description >
</description>
</method>
2021-05-07 15:41:39 +02:00
<method name= "get_surrounding_tiles" >
2021-07-30 15:28:05 +02:00
<return type= "Vector2i[]" />
<argument index= "0" name= "coords" type= "Vector2i" />
2017-09-12 22:42:36 +02:00
<description >
</description>
</method>
<method name= "get_used_cells" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "Vector2i[]" />
2017-09-12 22:42:36 +02:00
<description >
2018-08-03 20:38:31 +02:00
Returns a [Vector2] array with the positions of all cells containing a tile from the tileset (i.e. a tile index different from [code]-1[/code]).
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_used_rect" >
2021-07-30 15:28:05 +02:00
<return type= "Rect2" />
2017-09-12 22:42:36 +02:00
<description >
2018-05-28 14:53:15 +02:00
Returns a rectangle enclosing the used (non-empty) tiles of the map.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "map_to_world" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "Vector2" />
<argument index= "0" name= "map_position" type= "Vector2i" />
2017-09-12 22:42:36 +02:00
<description >
2020-06-30 08:34:15 +02:00
Returns the local position corresponding to the given tilemap (grid-based) coordinates.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_cell" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "coords" type= "Vector2i" />
<argument index= "1" name= "source_id" type= "int" default= "-1" />
<argument index= "2" name= "atlas_coords" type= "Vector2i" default= "Vector2i(-1, -1)" />
<argument index= "3" name= "alternative_tile" type= "int" default= "-1" />
2017-12-16 20:34:16 +01:00
<description >
2020-06-30 08:34:15 +02:00
Sets the tile index for the cell given by a Vector2i.
2017-12-16 20:34:16 +01:00
</description>
</method>
2018-07-22 15:26:14 +02:00
<method name= "update_dirty_quadrants" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2018-07-22 15:26:14 +02:00
<description >
Updates the tile map's quadrants, allowing things such as navigation and collision shapes to be immediately used if modified.
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "world_to_map" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "Vector2i" />
<argument index= "0" name= "world_position" type= "Vector2" />
2017-09-12 22:42:36 +02:00
<description >
2019-01-19 15:23:49 +01:00
Returns the tilemap (grid-based) coordinates corresponding to the given local position.
2017-09-12 22:42:36 +02:00
</description>
</method>
</methods>
<members >
2019-06-29 12:38:01 +02:00
<member name= "cell_quadrant_size" type= "int" setter= "set_quadrant_size" getter= "get_quadrant_size" default= "16" >
2019-06-29 15:24:23 +02:00
The TileMap's quadrant size. Optimizes drawing by batching, using chunks of this size.
2017-09-12 22:42:36 +02:00
</member>
2021-05-24 12:33:22 +02:00
<member name= "show_collision" type= "int" setter= "set_collision_visibility_mode" getter= "get_collision_visibility_mode" enum= "TileMap.VisibilityMode" default= "0" >
</member>
<member name= "show_navigation" type= "int" setter= "set_navigation_visibility_mode" getter= "get_navigation_visibility_mode" enum= "TileMap.VisibilityMode" default= "0" >
</member>
2019-07-15 20:42:47 +02:00
<member name= "tile_set" type= "TileSet" setter= "set_tileset" getter= "get_tileset" >
2017-09-12 22:42:36 +02:00
The assigned [TileSet].
</member>
</members>
<signals >
2021-05-07 15:41:39 +02:00
<signal name= "changed" >
2017-09-12 22:42:36 +02:00
<description >
2020-06-30 08:34:15 +02:00
Emitted when the [TileSet] of this TileMap changes.
2017-09-12 22:42:36 +02:00
</description>
</signal>
</signals>
<constants >
2021-05-24 12:33:22 +02:00
<constant name= "VISIBILITY_MODE_DEFAULT" value= "0" enum= "VisibilityMode" >
</constant>
<constant name= "VISIBILITY_MODE_FORCE_HIDE" value= "2" enum= "VisibilityMode" >
</constant>
<constant name= "VISIBILITY_MODE_FORCE_SHOW" value= "1" enum= "VisibilityMode" >
</constant>
2017-09-12 22:42:36 +02:00
</constants>
</class>