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) |
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 |
|
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 |
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 🔗
返回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的自定义数据层的自定义数据值。
返回带有索引layer_id的TileSet导航层磁贴的导航多边形。
flip_h、flip_v和transpose允许转换返回的多边形。
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_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 🔗
返回是否为具有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自定义数据层设置磁贴的自定义数据值。
使用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()。