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, плитка буде відображати трансплантацію, тобто з горизонтальною і вертикальною текстурою УФ.


int y_sort_origin = 0 🔗

  • void set_y_sort_origin(value: int)

  • int get_y_sort_origin()

Вертикальна точка плити, яка використовується для визначення y-sorted замовлення.


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().