:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/4.1/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/4.1/doc/classes/TileData.xml. .. _class_TileData: TileData ======== **Inherits:** :ref:`Object` Settings for a single tile in a :ref:`TileSet`. .. rst-class:: classref-introduction-group Description ----------- **TileData** object represents a single tile in a :ref:`TileSet`. It is usually edited using the tileset editor, but it can be modified at runtime using :ref:`TileMap._tile_data_runtime_update`. .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +---------------------------------+---------------------------------------------------------------+-----------------------+ | :ref:`bool` | :ref:`flip_h` | ``false`` | +---------------------------------+---------------------------------------------------------------+-----------------------+ | :ref:`bool` | :ref:`flip_v` | ``false`` | +---------------------------------+---------------------------------------------------------------+-----------------------+ | :ref:`Material` | :ref:`material` | | +---------------------------------+---------------------------------------------------------------+-----------------------+ | :ref:`Color` | :ref:`modulate` | ``Color(1, 1, 1, 1)`` | +---------------------------------+---------------------------------------------------------------+-----------------------+ | :ref:`float` | :ref:`probability` | ``1.0`` | +---------------------------------+---------------------------------------------------------------+-----------------------+ | :ref:`int` | :ref:`terrain` | ``-1`` | +---------------------------------+---------------------------------------------------------------+-----------------------+ | :ref:`int` | :ref:`terrain_set` | ``-1`` | +---------------------------------+---------------------------------------------------------------+-----------------------+ | :ref:`Vector2i` | :ref:`texture_origin` | ``Vector2i(0, 0)`` | +---------------------------------+---------------------------------------------------------------+-----------------------+ | :ref:`bool` | :ref:`transpose` | ``false`` | +---------------------------------+---------------------------------------------------------------+-----------------------+ | :ref:`int` | :ref:`y_sort_origin` | ``0`` | +---------------------------------+---------------------------------------------------------------+-----------------------+ | :ref:`int` | :ref:`z_index` | ``0`` | +---------------------------------+---------------------------------------------------------------+-----------------------+ .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_collision_polygon` **(** :ref:`int` layer_id **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_collision_polygon_one_way_margin` **(** :ref:`int` layer_id, :ref:`int` polygon_index **)** |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedVector2Array` | :ref:`get_collision_polygon_points` **(** :ref:`int` layer_id, :ref:`int` polygon_index **)** |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_collision_polygons_count` **(** :ref:`int` layer_id **)** |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_constant_angular_velocity` **(** :ref:`int` layer_id **)** |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_constant_linear_velocity` **(** :ref:`int` layer_id **)** |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get_custom_data` **(** :ref:`String` layer_name **)** |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get_custom_data_by_layer_id` **(** :ref:`int` layer_id **)** |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`NavigationPolygon` | :ref:`get_navigation_polygon` **(** :ref:`int` layer_id **)** |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`OccluderPolygon2D` | :ref:`get_occluder` **(** :ref:`int` layer_id **)** |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_terrain_peering_bit` **(** :ref:`CellNeighbor` peering_bit **)** |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_collision_polygon_one_way` **(** :ref:`int` layer_id, :ref:`int` polygon_index **)** |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`remove_collision_polygon` **(** :ref:`int` layer_id, :ref:`int` polygon_index **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_polygon_one_way` **(** :ref:`int` layer_id, :ref:`int` polygon_index, :ref:`bool` one_way **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_polygon_one_way_margin` **(** :ref:`int` layer_id, :ref:`int` polygon_index, :ref:`float` one_way_margin **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_polygon_points` **(** :ref:`int` layer_id, :ref:`int` polygon_index, :ref:`PackedVector2Array` polygon **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_polygons_count` **(** :ref:`int` layer_id, :ref:`int` polygons_count **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_constant_angular_velocity` **(** :ref:`int` layer_id, :ref:`float` velocity **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_constant_linear_velocity` **(** :ref:`int` layer_id, :ref:`Vector2` velocity **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_custom_data` **(** :ref:`String` layer_name, :ref:`Variant` value **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_custom_data_by_layer_id` **(** :ref:`int` layer_id, :ref:`Variant` value **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_navigation_polygon` **(** :ref:`int` layer_id, :ref:`NavigationPolygon` navigation_polygon **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_occluder` **(** :ref:`int` layer_id, :ref:`OccluderPolygon2D` occluder_polygon **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_terrain_peering_bit` **(** :ref:`CellNeighbor` peering_bit, :ref:`int` terrain **)** | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Signals ------- .. _class_TileData_signal_changed: .. rst-class:: classref-signal **changed** **(** **)** Emitted when any of the properties are changed. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_TileData_property_flip_h: .. rst-class:: classref-property :ref:`bool` **flip_h** = ``false`` .. rst-class:: classref-property-setget - void **set_flip_h** **(** :ref:`bool` value **)** - :ref:`bool` **get_flip_h** **(** **)** If ``true``, the tile will have its texture flipped horizontally. .. rst-class:: classref-item-separator ---- .. _class_TileData_property_flip_v: .. rst-class:: classref-property :ref:`bool` **flip_v** = ``false`` .. rst-class:: classref-property-setget - void **set_flip_v** **(** :ref:`bool` value **)** - :ref:`bool` **get_flip_v** **(** **)** If ``true``, the tile will have its texture flipped vertically. .. rst-class:: classref-item-separator ---- .. _class_TileData_property_material: .. rst-class:: classref-property :ref:`Material` **material** .. rst-class:: classref-property-setget - void **set_material** **(** :ref:`Material` value **)** - :ref:`Material` **get_material** **(** **)** The :ref:`Material` to use for this **TileData**. This can be a :ref:`CanvasItemMaterial` to use the default shader, or a :ref:`ShaderMaterial` to use a custom shader. .. rst-class:: classref-item-separator ---- .. _class_TileData_property_modulate: .. rst-class:: classref-property :ref:`Color` **modulate** = ``Color(1, 1, 1, 1)`` .. rst-class:: classref-property-setget - void **set_modulate** **(** :ref:`Color` value **)** - :ref:`Color` **get_modulate** **(** **)** Color modulation of the tile. .. rst-class:: classref-item-separator ---- .. _class_TileData_property_probability: .. rst-class:: classref-property :ref:`float` **probability** = ``1.0`` .. rst-class:: classref-property-setget - void **set_probability** **(** :ref:`float` value **)** - :ref:`float` **get_probability** **(** **)** Relative probability of this tile being selected when drawing a pattern of random tiles. .. rst-class:: classref-item-separator ---- .. _class_TileData_property_terrain: .. rst-class:: classref-property :ref:`int` **terrain** = ``-1`` .. rst-class:: classref-property-setget - void **set_terrain** **(** :ref:`int` value **)** - :ref:`int` **get_terrain** **(** **)** ID of the terrain from the terrain set that the tile uses. .. rst-class:: classref-item-separator ---- .. _class_TileData_property_terrain_set: .. rst-class:: classref-property :ref:`int` **terrain_set** = ``-1`` .. rst-class:: classref-property-setget - void **set_terrain_set** **(** :ref:`int` value **)** - :ref:`int` **get_terrain_set** **(** **)** ID of the terrain set that the tile uses. .. rst-class:: classref-item-separator ---- .. _class_TileData_property_texture_origin: .. rst-class:: classref-property :ref:`Vector2i` **texture_origin** = ``Vector2i(0, 0)`` .. rst-class:: classref-property-setget - void **set_texture_origin** **(** :ref:`Vector2i` value **)** - :ref:`Vector2i` **get_texture_origin** **(** **)** Offsets the position of where the tile is drawn. .. rst-class:: classref-item-separator ---- .. _class_TileData_property_transpose: .. rst-class:: classref-property :ref:`bool` **transpose** = ``false`` .. rst-class:: classref-property-setget - void **set_transpose** **(** :ref:`bool` value **)** - :ref:`bool` **get_transpose** **(** **)** If ``true``, the tile will display transposed, i.e. with horizontal and vertical texture UVs swapped. .. rst-class:: classref-item-separator ---- .. _class_TileData_property_y_sort_origin: .. rst-class:: classref-property :ref:`int` **y_sort_origin** = ``0`` .. rst-class:: classref-property-setget - void **set_y_sort_origin** **(** :ref:`int` value **)** - :ref:`int` **get_y_sort_origin** **(** **)** Vertical point of the tile used for determining y-sorted order. .. rst-class:: classref-item-separator ---- .. _class_TileData_property_z_index: .. rst-class:: classref-property :ref:`int` **z_index** = ``0`` .. rst-class:: classref-property-setget - void **set_z_index** **(** :ref:`int` value **)** - :ref:`int` **get_z_index** **(** **)** Ordering index of this tile, relative to :ref:`TileMap`. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_TileData_method_add_collision_polygon: .. rst-class:: classref-method void **add_collision_polygon** **(** :ref:`int` layer_id **)** Adds a collision polygon to the tile on the given TileSet physics layer. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_get_collision_polygon_one_way_margin: .. rst-class:: classref-method :ref:`float` **get_collision_polygon_one_way_margin** **(** :ref:`int` layer_id, :ref:`int` polygon_index **)** |const| Returns the one-way margin (for one-way platforms) of the polygon at index ``polygon_index`` for TileSet physics layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_get_collision_polygon_points: .. rst-class:: classref-method :ref:`PackedVector2Array` **get_collision_polygon_points** **(** :ref:`int` layer_id, :ref:`int` polygon_index **)** |const| Returns the points of the polygon at index ``polygon_index`` for TileSet physics layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_get_collision_polygons_count: .. rst-class:: classref-method :ref:`int` **get_collision_polygons_count** **(** :ref:`int` layer_id **)** |const| Returns how many polygons the tile has for TileSet physics layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_get_constant_angular_velocity: .. rst-class:: classref-method :ref:`float` **get_constant_angular_velocity** **(** :ref:`int` layer_id **)** |const| Returns the constant angular velocity applied to objects colliding with this tile. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_get_constant_linear_velocity: .. rst-class:: classref-method :ref:`Vector2` **get_constant_linear_velocity** **(** :ref:`int` layer_id **)** |const| Returns the constant linear velocity applied to objects colliding with this tile. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_get_custom_data: .. rst-class:: classref-method :ref:`Variant` **get_custom_data** **(** :ref:`String` layer_name **)** |const| Returns the custom data value for custom data layer named ``layer_name``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_get_custom_data_by_layer_id: .. rst-class:: classref-method :ref:`Variant` **get_custom_data_by_layer_id** **(** :ref:`int` layer_id **)** |const| Returns the custom data value for custom data layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_get_navigation_polygon: .. rst-class:: classref-method :ref:`NavigationPolygon` **get_navigation_polygon** **(** :ref:`int` layer_id **)** |const| Returns the navigation polygon of the tile for the TileSet navigation layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_get_occluder: .. rst-class:: classref-method :ref:`OccluderPolygon2D` **get_occluder** **(** :ref:`int` layer_id **)** |const| Returns the occluder polygon of the tile for the TileSet occlusion layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_get_terrain_peering_bit: .. rst-class:: classref-method :ref:`int` **get_terrain_peering_bit** **(** :ref:`CellNeighbor` peering_bit **)** |const| Returns the tile's terrain bit for the given ``peering_bit`` direction. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_is_collision_polygon_one_way: .. rst-class:: classref-method :ref:`bool` **is_collision_polygon_one_way** **(** :ref:`int` layer_id, :ref:`int` polygon_index **)** |const| Returns whether one-way collisions are enabled for the polygon at index ``polygon_index`` for TileSet physics layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_remove_collision_polygon: .. rst-class:: classref-method void **remove_collision_polygon** **(** :ref:`int` layer_id, :ref:`int` polygon_index **)** Removes the polygon at index ``polygon_index`` for TileSet physics layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_set_collision_polygon_one_way: .. rst-class:: classref-method void **set_collision_polygon_one_way** **(** :ref:`int` layer_id, :ref:`int` polygon_index, :ref:`bool` one_way **)** Enables/disables one-way collisions on the polygon at index ``polygon_index`` for TileSet physics layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_set_collision_polygon_one_way_margin: .. rst-class:: classref-method void **set_collision_polygon_one_way_margin** **(** :ref:`int` layer_id, :ref:`int` polygon_index, :ref:`float` one_way_margin **)** Enables/disables one-way collisions on the polygon at index ``polygon_index`` for TileSet physics layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_set_collision_polygon_points: .. rst-class:: classref-method void **set_collision_polygon_points** **(** :ref:`int` layer_id, :ref:`int` polygon_index, :ref:`PackedVector2Array` polygon **)** Sets the points of the polygon at index ``polygon_index`` for TileSet physics layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_set_collision_polygons_count: .. rst-class:: classref-method void **set_collision_polygons_count** **(** :ref:`int` layer_id, :ref:`int` polygons_count **)** Sets the polygons count for TileSet physics layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_set_constant_angular_velocity: .. rst-class:: classref-method void **set_constant_angular_velocity** **(** :ref:`int` layer_id, :ref:`float` velocity **)** Sets the constant angular velocity. This does not rotate the tile. This angular velocity is applied to objects colliding with this tile. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_set_constant_linear_velocity: .. rst-class:: classref-method void **set_constant_linear_velocity** **(** :ref:`int` layer_id, :ref:`Vector2` velocity **)** Sets the constant linear velocity. This does not move the tile. This linear velocity is applied to objects colliding with this tile. This is useful to create conveyor belts. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_set_custom_data: .. rst-class:: classref-method void **set_custom_data** **(** :ref:`String` layer_name, :ref:`Variant` value **)** Sets the tile's custom data value for the TileSet custom data layer with name ``layer_name``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_set_custom_data_by_layer_id: .. rst-class:: classref-method void **set_custom_data_by_layer_id** **(** :ref:`int` layer_id, :ref:`Variant` value **)** Sets the tile's custom data value for the TileSet custom data layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_set_navigation_polygon: .. rst-class:: classref-method void **set_navigation_polygon** **(** :ref:`int` layer_id, :ref:`NavigationPolygon` navigation_polygon **)** Sets the navigation polygon for the TileSet navigation layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_set_occluder: .. rst-class:: classref-method void **set_occluder** **(** :ref:`int` layer_id, :ref:`OccluderPolygon2D` occluder_polygon **)** Sets the occluder for the TileSet occlusion layer with index ``layer_id``. .. rst-class:: classref-item-separator ---- .. _class_TileData_method_set_terrain_peering_bit: .. rst-class:: classref-method void **set_terrain_peering_bit** **(** :ref:`CellNeighbor` peering_bit, :ref:`int` terrain **)** Sets the tile's terrain bit for the given ``peering_bit`` direction. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`