TileData

继承: Object

TileSet中单个磁贴的设置。

描述

TileData对象表示TileSet中的单个图块。它通常使用tileset编辑器进行编辑,但可以在运行时使用TileMap._tile_data_runtime_update()对其进行修改。

属性

方法

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 🔗

用于此TileDataMaterial。这可以是使用默认着色器的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()

图块使用的地形集中的地形ID。


int terrain_set = -1 🔗

  • void set_terrain_set(value: int)

  • int get_terrain_set()

磁贴使用的地形集的ID。


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

此磁贴的排序索引,相对于TileMap


方法说明

void add_collision_polygon(layer_id: int) 🔗

将碰撞多边形添加到给定TileSet物理层上的图块。


void add_occluder_polygon(layer_id: int) 🔗

使用索引layer_id向TileSet遮挡层上的图块添加遮挡多边形。


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

返回具有索引layer_id的TileSet物理层的索引polygon_index处多边形的单向边距(对于单向平台)。


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

返回TileSet物理层的索引polygon_index处的多边形点layer_id


int get_collision_polygons_count(layer_id: int) const 🔗

返回带有indexlayer_id的TileSet物理层的磁贴有多少多边形。


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 🔗

返回带有indexlayer_id的自定义数据层的自定义数据值。


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

返回带有索引layer_id的TileSet导航层磁贴的导航多边形。

flip_hflip_vtranspose允许转换返回的多边形。


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

已弃用: 请改用 get_occluder_polygon()

返回带有索引layer_id的TileSet遮挡层图块的遮挡多边形。

flip_hflip_vtranspose允许转换返回的多边形。


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

从带有索引layer_id的TileSet遮挡层返回索引polygon_index处的遮挡多边形。

flip_hflip_vtranspose参数可以是true来转换返回的多边形。


int get_occluder_polygons_count(layer_id: int) const 🔗

返回带有索引layer_id的TileSet遮挡层中瓷砖的遮挡多边形数。


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 🔗

返回是否为具有indexlayer_id的TileSet物理层的indexpolygon_index处的多边形启用单向碰撞。


bool is_valid_terrain_peering_bit(peering_bit: CellNeighbor) const 🔗

返回给定的peering_bit方向是否对此磁贴有效。


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

移除TileSet物理层索引polygon_index处的多边形layer_id


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

移除TileSet遮挡层索引polygon_index处的多边形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) 🔗

设置TileSet物理层的索引polygon_index处的多边形的单向边距(对于单向平台),索引layer_id


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

使用indexpolygon_index为TileSet物理层设置索引layer_id处的多边形点。


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

使用indexlayer_id设置TileSet物理层的多边形计数。


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) 🔗

使用namelayer_name为TileSet自定义数据层设置磁贴的自定义数据值。


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

使用indexlayer_id为TileSet自定义数据层设置磁贴的自定义数据值。


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

使用indexlayer_id设置TileSet导航层的导航多边形。


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

已弃用: 请改用 set_occluder_polygon()

使用索引layer_id设置TileSet遮挡层的遮挡器。


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) 🔗

使用索引layer_id设置TileSet遮挡层中的遮挡多边形计数。


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

为给定的peering_bit方向设置磁贴的地形位。要检查方向是否有效,请使用is_valid_terrain_peering_bit()