Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
TileData
继承: Object
TileSet 中单个图块的设置。
描述
TileData 对象代表 TileSet 中的单个图块,通常使用图块集编辑器进行编辑,但也可以在运行时使用 TileMap._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 排序顺序的垂直点。
该图块的排序索引,相对于 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 🔗
返回在索引为 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()。