Up to date

This page is up to date for Godot 4.0. If you still find outdated information, please open an issue.

TileData

Inherits: Object

Settings for a single tile in a TileSet.

Description

TileData object represents a single tile in a TileSet. It is usually edited using the tileset editor, but it can be modified at runtime using TileMap._tile_data_runtime_update.

Properties

bool

flip_h

false

bool

flip_v

false

Material

material

Color

modulate

Color(1, 1, 1, 1)

float

probability

1.0

int

terrain

-1

int

terrain_set

-1

Vector2i

texture_origin

Vector2i(0, 0)

bool

transpose

false

int

y_sort_origin

0

int

z_index

0

Methods

void

add_collision_polygon ( int layer_id )

float

get_collision_polygon_one_way_margin ( int layer_id, int polygon_index ) const

PackedVector2Array

get_collision_polygon_points ( int layer_id, int polygon_index ) const

int

get_collision_polygons_count ( int layer_id ) const

float

get_constant_angular_velocity ( int layer_id ) const

Vector2

get_constant_linear_velocity ( int layer_id ) const

Variant

get_custom_data ( String layer_name ) const

Variant

get_custom_data_by_layer_id ( int layer_id ) const

NavigationPolygon

get_navigation_polygon ( int layer_id ) const

OccluderPolygon2D

get_occluder ( int layer_id ) const

int

get_terrain_peering_bit ( CellNeighbor peering_bit ) const

bool

is_collision_polygon_one_way ( int layer_id, int polygon_index ) const

void

remove_collision_polygon ( int layer_id, int polygon_index )

void

set_collision_polygon_one_way ( int layer_id, int polygon_index, bool one_way )

void

set_collision_polygon_one_way_margin ( int layer_id, int polygon_index, float one_way_margin )

void

set_collision_polygon_points ( int layer_id, int polygon_index, PackedVector2Array polygon )

void

set_collision_polygons_count ( int layer_id, int polygons_count )

void

set_constant_angular_velocity ( int layer_id, float velocity )

void

set_constant_linear_velocity ( int layer_id, Vector2 velocity )

void

set_custom_data ( String layer_name, Variant value )

void

set_custom_data_by_layer_id ( int layer_id, Variant value )

void

set_navigation_polygon ( int layer_id, NavigationPolygon navigation_polygon )

void

set_occluder ( int layer_id, OccluderPolygon2D occluder_polygon )

void

set_terrain_peering_bit ( CellNeighbor peering_bit, int terrain )


Signals

changed ( )

Emitted when any of the properties are changed.


Property Descriptions

bool flip_h = false

  • void set_flip_h ( bool value )

  • bool get_flip_h ( )

If true, the tile will have its texture flipped horizontally.


bool flip_v = false

  • void set_flip_v ( bool value )

  • bool get_flip_v ( )

If true, the tile will have its texture flipped vertically.


Material material

The Material to use for this TileData. This can be a CanvasItemMaterial to use the default shader, or a ShaderMaterial to use a custom shader.


Color modulate = Color(1, 1, 1, 1)

  • void set_modulate ( Color value )

  • Color get_modulate ( )

Color modulation of the tile.


float probability = 1.0

  • void set_probability ( float value )

  • float get_probability ( )

Relative probability of this tile being selected when drawing a pattern of random tiles.


int terrain = -1

  • void set_terrain ( int value )

  • int get_terrain ( )

ID of the terrain from the terrain set that the tile uses.


int terrain_set = -1

  • void set_terrain_set ( int value )

  • int get_terrain_set ( )

ID of the terrain set that the tile uses.


Vector2i texture_origin = Vector2i(0, 0)

Offsets the position of where the tile is drawn.


bool transpose = false

  • void set_transpose ( bool value )

  • bool get_transpose ( )

If true, the tile will display transposed, i.e. with horizontal and vertical texture UVs swapped.


int y_sort_origin = 0

  • void set_y_sort_origin ( int value )

  • int get_y_sort_origin ( )

Vertical point of the tile used for determining y-sorted order.


int z_index = 0

  • void set_z_index ( int value )

  • int get_z_index ( )

Ordering index of this tile, relative to TileMap.


Method Descriptions

void add_collision_polygon ( int layer_id )

Adds a collision polygon to the tile on the given TileSet physics layer.


float get_collision_polygon_one_way_margin ( int layer_id, 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.


PackedVector2Array get_collision_polygon_points ( int layer_id, int polygon_index ) const

Returns the points of the polygon at index polygon_index for TileSet physics layer with index layer_id.


int get_collision_polygons_count ( int layer_id ) const

Returns how many polygons the tile has for TileSet physics layer with index layer_id.


float get_constant_angular_velocity ( int layer_id ) const

Returns the constant angular velocity applied to objects colliding with this tile.


Vector2 get_constant_linear_velocity ( int layer_id ) const

Returns the constant linear velocity applied to objects colliding with this tile.


Variant get_custom_data ( String layer_name ) const

Returns the custom data value for custom data layer named layer_name.


Variant get_custom_data_by_layer_id ( int layer_id ) const

Returns the custom data value for custom data layer with index layer_id.


NavigationPolygon get_navigation_polygon ( int layer_id ) const

Returns the navigation polygon of the tile for the TileSet navigation layer with index layer_id.


OccluderPolygon2D get_occluder ( int layer_id ) const

Returns the occluder polygon of the tile for the TileSet occlusion layer with index layer_id.


int get_terrain_peering_bit ( CellNeighbor peering_bit ) const

Returns the tile’s terrain bit for the given peering_bit direction.


bool is_collision_polygon_one_way ( int layer_id, 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.


void remove_collision_polygon ( int layer_id, int polygon_index )

Removes the polygon at index polygon_index for TileSet physics layer with index layer_id.


void set_collision_polygon_one_way ( int layer_id, int polygon_index, bool one_way )

Enables/disables one-way collisions on the polygon at index polygon_index for TileSet physics layer with index layer_id.


void set_collision_polygon_one_way_margin ( int layer_id, int polygon_index, float one_way_margin )

Enables/disables one-way collisions on the polygon at index polygon_index for TileSet physics layer with index layer_id.


void set_collision_polygon_points ( int layer_id, int polygon_index, PackedVector2Array polygon )

Sets the points of the polygon at index polygon_index for TileSet physics layer with index layer_id.


void set_collision_polygons_count ( int layer_id, int polygons_count )

Sets the polygons count for TileSet physics layer with index layer_id.


void set_constant_angular_velocity ( int layer_id, float velocity )

Sets the constant angular velocity. This does not rotate the tile. This angular velocity is applied to objects colliding with this tile.


void set_constant_linear_velocity ( int layer_id, 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.


void set_custom_data ( String layer_name, Variant value )

Sets the tile’s custom data value for the TileSet custom data layer with name layer_name.


void set_custom_data_by_layer_id ( int layer_id, Variant value )

Sets the tile’s custom data value for the TileSet custom data layer with index layer_id.


void set_navigation_polygon ( int layer_id, NavigationPolygon navigation_polygon )

Sets the navigation polygon for the TileSet navigation layer with index layer_id.


void set_occluder ( int layer_id, OccluderPolygon2D occluder_polygon )

Sets the occluder for the TileSet occlusion layer with index layer_id.


void set_terrain_peering_bit ( CellNeighbor peering_bit, int terrain )

Sets the tile’s terrain bit for the given peering_bit direction.