TileData
继承: Object
TileSet 中单个图块的设置。
描述
TileData 对象代表 TileSet 中的单个图块,通常使用图块集编辑器进行编辑,但也可以在运行时使用 TileMapLayer._tile_data_runtime_update() 进行修改。
属性
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
方法
void |
add_collision_polygon(layer_id: int) |
void |
add_occluder_polygon(layer_id: int) |
get_collision_polygon_one_way_margin(layer_id: int, polygon_index: int) const |
|
get_collision_polygon_points(layer_id: int, polygon_index: int) const |
|
get_collision_polygons_count(layer_id: int) const |
|
get_constant_angular_velocity(layer_id: int) const |
|
get_constant_linear_velocity(layer_id: int) const |
|
get_custom_data(layer_name: String) const |
|
get_custom_data_by_layer_id(layer_id: int) const |
|
get_navigation_polygon(layer_id: int, flip_h: bool = false, flip_v: bool = false, transpose: bool = false) const |
|
get_occluder(layer_id: int, flip_h: bool = false, flip_v: bool = false, transpose: bool = false) const |
|
get_occluder_polygon(layer_id: int, polygon_index: int, flip_h: bool = false, flip_v: bool = false, transpose: bool = false) const |
|
get_occluder_polygons_count(layer_id: int) const |
|
get_terrain_peering_bit(peering_bit: CellNeighbor) const |
|
has_custom_data(layer_name: String) const |
|
is_collision_polygon_one_way(layer_id: int, polygon_index: int) const |
|
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() 🔗
任何属性发生变化时发出。
属性说明
如果为 true,则该图块的纹理会被水平翻转。
如果为 true,则该图块的纹理会被垂直翻转。
用于此 TileData 的 Material。使用默认着色器可以设为 CanvasItemMaterial,使用自定义着色器可以设为 ShaderMaterial。
Color modulate = Color(1, 1, 1, 1) 🔗
该图块的颜色调制。
绘制随机图块图案时选择该图块的相对概率。
该图块所使用的地形集中地形的 ID。
该图块所使用的地形集的 ID。
Vector2i texture_origin = Vector2i(0, 0) 🔗
该图块绘制时的位置偏移量。
如果为 true,则该图块会转置显示,即调换水平和垂直纹理 UV。
该图块用于确定 Y 排序顺序的垂直点。
该图块的排序索引,相对于 TileMapLayer。
方法说明
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 🔗
返回在索引为 layer_id 的 TileSet 物理层上,索引为 polygon_index 的多边形的点。
int get_collision_polygons_count(layer_id: int) const 🔗
设置该图块中索引为 layer_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 🔗
返回自定义数据层的自定义数据值,自定义数据层用索引 layer_id 指定。
返回图块的导航多边形,对应的 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 🔗
返回索引为 layer_id 的 TileSet 遮挡层的遮挡器中索引为 polygon_index 的多边形。
参数 flip_h、flip_v、transpose 参数可以为 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 🔗
返回索引为 layer_id 的 TileSet 物理层上索引为 polygon_index 的多边形是否启用了单向碰撞。
bool is_valid_terrain_peering_bit(peering_bit: CellNeighbor) const 🔗
返回给定的 peering_bit 方向对于该图块是否有效。
void remove_collision_polygon(layer_id: int, polygon_index: int) 🔗
移除索引为 layer_id 的 TileSet 物理层上索引为 polygon_index 的多边形。
void remove_occluder_polygon(layer_id: int, polygon_index: int) 🔗
移除索引为 layer_id 的 TileSet 遮挡层上索引为 polygon_index 的多边形。
void set_collision_polygon_one_way(layer_id: int, polygon_index: int, one_way: bool) 🔗
启用/禁用索引为 layer_id 的 TileSet 物理层上索引为 polygon_index 的多边形的单向碰撞。
void set_collision_polygon_one_way_margin(layer_id: int, polygon_index: int, one_way_margin: float) 🔗
设置在索引为 layer_id 的 TileSet 物理层上,索引为 polygon_index 的多边形的单向边距(用于单向平台)。
void set_collision_polygon_points(layer_id: int, polygon_index: int, polygon: PackedVector2Array) 🔗
设置索引为 layer_id 的 TileSet 物理层上索引为 polygon_index 的多边形的顶点。
void set_collision_polygons_count(layer_id: int, polygons_count: int) 🔗
设置索引为 layer_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) 🔗
设置该图块的自定义数据值,TileSet 自定义数据层由名称 layer_name 指定。
void set_custom_data_by_layer_id(layer_id: int, value: Variant) 🔗
设置该图块的自定义数据值,TileSet 自定义数据层由索引 layer_id 指定。
设置索引为 layer_id 的 TileSet 导航层的导航多边形。
void set_occluder(layer_id: int, occluder_polygon: OccluderPolygon2D) 🔗
已弃用: Use set_occluder_polygon() instead.
设置索引为 layer_id 的 TileSet 遮挡层的遮挡器。
void set_occluder_polygon(layer_id: int, polygon_index: int, polygon: OccluderPolygon2D) 🔗
设置索引为 layer_id 的 TileSet 遮挡层的遮挡器中索引为 polygon_index 的多边形。
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()。