TileData

Наследует: Object

Настройки для одного тайла в TileSet.

Описание

Объект TileData представляет отдельный тайл в TileSet. Обычно он редактируется с помощью редактора тайлсетов, но может быть изменён во время выполнения с помощью TileMapLayer._tile_data_runtime_update().

Свойства

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

Методы

void

add_collision_polygon(layer_id: int)

void

add_occluder_polygon(layer_id: int)

float

get_collision_polygon_one_way_margin(layer_id: int, polygon_index: int) const

PackedVector2Array

get_collision_polygon_points(layer_id: int, polygon_index: int) const

int

get_collision_polygons_count(layer_id: int) const

float

get_constant_angular_velocity(layer_id: int) const

Vector2

get_constant_linear_velocity(layer_id: int) const

Variant

get_custom_data(layer_name: String) const

Variant

get_custom_data_by_layer_id(layer_id: int) const

NavigationPolygon

get_navigation_polygon(layer_id: int, flip_h: bool = false, flip_v: bool = false, transpose: bool = false) const

OccluderPolygon2D

get_occluder(layer_id: int, flip_h: bool = false, flip_v: bool = false, transpose: bool = false) const

OccluderPolygon2D

get_occluder_polygon(layer_id: int, polygon_index: int, flip_h: bool = false, flip_v: bool = false, transpose: bool = false) const

int

get_occluder_polygons_count(layer_id: int) const

int

get_terrain_peering_bit(peering_bit: CellNeighbor) const

bool

has_custom_data(layer_name: String) const

bool

is_collision_polygon_one_way(layer_id: int, polygon_index: int) const

bool

is_valid_terrain_peering_bit(peering_bit: CellNeighbor) const

void

remove_collision_polygon(layer_id: int, polygon_index: int)

void

remove_occluder_polygon(layer_id: int, polygon_index: int)

void

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

void

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

void

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

void

set_collision_polygons_count(layer_id: int, polygons_count: int)

void

set_constant_angular_velocity(layer_id: int, velocity: float)

void

set_constant_linear_velocity(layer_id: int, velocity: Vector2)

void

set_custom_data(layer_name: String, value: Variant)

void

set_custom_data_by_layer_id(layer_id: int, value: Variant)

void

set_navigation_polygon(layer_id: int, navigation_polygon: NavigationPolygon)

void

set_occluder(layer_id: int, occluder_polygon: OccluderPolygon2D)

void

set_occluder_polygon(layer_id: int, polygon_index: int, polygon: OccluderPolygon2D)

void

set_occluder_polygons_count(layer_id: int, polygons_count: int)

void

set_terrain_peering_bit(peering_bit: CellNeighbor, terrain: int)


Сигналы

changed() 🔗

Выдается при изменении любого из свойств.


Описания свойств

bool flip_h = false 🔗

  • void set_flip_h(value: bool)

  • bool get_flip_h()

Если true, текстура тайла будет перевернута по горизонтали.


bool flip_v = false 🔗

  • void set_flip_v(value: bool)

  • bool get_flip_v()

Если true, текстура тайла будет перевернута по вертикали.


Material material 🔗

Material для использования с этим TileData. Это может быть CanvasItemMaterial для использования шейдера по умолчанию или ShaderMaterial для использования пользовательского шейдера.


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

  • void set_modulate(value: Color)

  • Color get_modulate()

Цветовая модуляция тайла.


float probability = 1.0 🔗

  • void set_probability(value: float)

  • float get_probability()

Относительная вероятность выбора этого тайла при рисовании шаблона из случайных тайлов.


int terrain = -1 🔗

  • void set_terrain(value: int)

  • int get_terrain()

Идентификатор ландшафта из набора ландшафта, который использует тайл.


int terrain_set = -1 🔗

  • void set_terrain_set(value: int)

  • int get_terrain_set()

Идентификатор набора ландшафта, который использует тайл.


Vector2i texture_origin = Vector2i(0, 0) 🔗

Смещает позицию, где отображается тайл.


bool transpose = false 🔗

  • void set_transpose(value: bool)

  • bool get_transpose()

Если true, тайл будет отображаться транспонированным, т. е. с поменянными местами горизонтальной и вертикальной текстурой UV.


int y_sort_origin = 0 🔗

  • void set_y_sort_origin(value: int)

  • int get_y_sort_origin()

Вертикальная точка тайла, используемая для определения порядка сортировки по оси Y.


int z_index = 0 🔗

  • void set_z_index(value: int)

  • int get_z_index()

Индекс порядка этого тайла относительно TileMapLayer.


Описания метода

void add_collision_polygon(layer_id: int) 🔗

Добавляет полигон столкновения к тайлу на указанном физическом слое TileSet.


void add_occluder_polygon(layer_id: int) 🔗

Добавляет многоугольник окклюзии к тайлу на слое окклюзии TileSet с индексом layer_id.


float get_collision_polygon_one_way_margin(layer_id: int, polygon_index: int) const 🔗

Возвращает одностороннее поле (для односторонних платформ) полигона с индексом polygon_index для физического слоя TileSet с индексом layer_id.


PackedVector2Array get_collision_polygon_points(layer_id: int, polygon_index: int) const 🔗

Возвращает точки полигона с индексом polygon_index для физического слоя TileSet с индексом layer_id.


int get_collision_polygons_count(layer_id: int) const 🔗

Возвращает количество полигонов тайла для физического слоя TileSet с индексом layer_id.


float get_constant_angular_velocity(layer_id: int) const 🔗

Возвращает постоянную угловую скорость, применяемую к объектам при столкновении с этим тайлом.


Vector2 get_constant_linear_velocity(layer_id: int) const 🔗

Возвращает постоянную линейную скорость, применяемую к объектам при столкновении с этим тайлом.


Variant get_custom_data(layer_name: String) const 🔗

Возвращает пользовательское значение данных для пользовательского слоя данных с именем layer_name. Чтобы проверить, существует ли пользовательский слой данных, используйте has_custom_data().


Variant get_custom_data_by_layer_id(layer_id: int) const 🔗

Возвращает пользовательское значение данных для пользовательского слоя данных с индексом layer_id.


NavigationPolygon get_navigation_polygon(layer_id: int, flip_h: bool = false, flip_v: bool = false, transpose: bool = false) const 🔗

Возвращает навигационный полигон тайла для навигационного слоя TileSet с индексом layer_id.

flip_h, flip_v и transpose позволяют преобразовать возвращаемый полигон.


OccluderPolygon2D get_occluder(layer_id: int, flip_h: bool = false, flip_v: bool = false, transpose: bool = false) const 🔗

Устарело: Use get_occluder_polygon() instead.

Возвращает окклюдерный полигон тайла для слоя окклюзии TileSet с индексом layer_id.

flip_h, flip_v и transpose позволяют преобразовать возвращаемый полигон.


OccluderPolygon2D get_occluder_polygon(layer_id: int, polygon_index: int, flip_h: bool = false, flip_v: bool = false, transpose: bool = false) const 🔗

Возвращает многоугольник окклюдера с индексом polygon_index из слоя окклюзии TileSet с индексом layer_id.

Параметры flip_h, flip_v и transpose могут быть true для преобразования возвращаемого многоугольника.


int get_occluder_polygons_count(layer_id: int) const 🔗

Возвращает количество окклюдерных полигонов тайла в слое окклюзии TileSet с индексом layer_id.


int get_terrain_peering_bit(peering_bit: CellNeighbor) const 🔗

Возвращает бит ландшафа тайла для заданного направления peering_bit. Для проверки корректности направления используйте is_valid_terrain_peering_bit().


bool has_custom_data(layer_name: String) const 🔗

Возвращает информацию о существовании пользовательского слоя данных с именем layer_name.


bool is_collision_polygon_one_way(layer_id: int, polygon_index: int) const 🔗

Возвращает информацию о том, включены ли односторонние столкновения для полигона с индексом polygon_index для физического слоя TileSet с индексом layer_id.


bool is_valid_terrain_peering_bit(peering_bit: CellNeighbor) const 🔗

Возвращает, является ли заданное направление peering_bit допустимым для этого тайла.


void remove_collision_polygon(layer_id: int, polygon_index: int) 🔗

Удаляет полигон с индексом polygon_index для физического слоя TileSet с индексом layer_id.


void remove_occluder_polygon(layer_id: int, polygon_index: int) 🔗

Удаляет полигон с индексом polygon_index для слоя окклюзии TileSet с индексом layer_id.


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

Включает/отключает односторонние столкновения на полигоне с индексом polygon_index для физического слоя TileSet с индексом layer_id.


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

Устанавливает одностороннюю границу (для односторонних платформ) полигона с индексом polygon_index для физического слоя TileSet с индексом layer_id.


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

Устанавливает точки полигона с индексом polygon_index для физического слоя TileSet с индексом layer_id.


void set_collision_polygons_count(layer_id: int, polygons_count: int) 🔗

Устанавливает количество полигонов для физического слоя TileSet с индексом layer_id.


void set_constant_angular_velocity(layer_id: int, velocity: float) 🔗

Устанавливает постоянную угловую скорость. Не вращает тайл. Эта угловая скорость применяется к объектам, сталкивающимся с этим тайлом.


void set_constant_linear_velocity(layer_id: int, velocity: Vector2) 🔗

Устанавливает постоянную линейную скорость. Не перемещает тайл. Эта линейная скорость применяется к объектам, сталкивающимся с этим тайлом. Это полезно для создания конвейерных лент.


void set_custom_data(layer_name: String, value: Variant) 🔗

Устанавливает пользовательское значение данных тайла для пользовательского слоя данных TileSet с именем layer_name.


void set_custom_data_by_layer_id(layer_id: int, value: Variant) 🔗

Устанавливает пользовательское значение данных тайла для пользовательского слоя данных TileSet с индексом layer_id.


void set_navigation_polygon(layer_id: int, navigation_polygon: NavigationPolygon) 🔗

Устанавливает навигационный полигон для навигационного слоя TileSet с индексом layer_id.


void set_occluder(layer_id: int, occluder_polygon: OccluderPolygon2D) 🔗

Устарело: Use set_occluder_polygon() instead.

Устанавливает окклюдер для слоя окклюзии TileSet с индексом layer_id.


void set_occluder_polygon(layer_id: int, polygon_index: int, polygon: OccluderPolygon2D) 🔗

Устанавливает окклюдер для полигона с индексом polygon_index в слое окклюзии TileSet с индексом layer_id.


void set_occluder_polygons_count(layer_id: int, polygons_count: int) 🔗

Устанавливает количество полигонов окклюдера в слое окклюзии TileSet с индексом layer_id.


void set_terrain_peering_bit(peering_bit: CellNeighbor, terrain: int) 🔗

Устанавливает бит ландшафта тайла для заданного направления peering_bit. Для проверки корректности направления используйте is_valid_terrain_peering_bit().