TileSet
Inherits: Resource < Reference < Object
图块地图的图块库。
描述
图块集是TileMap图块地图的一个图块库。它包含图块的列表,每个图块由一个精灵和可选的碰撞形状组成。
图块由唯一的整数ID引用。
教程
方法
枚举
enum BitmaskMode:
BITMASK_2X2 = 0
BITMASK_3X3_MINIMAL = 1
BITMASK_3X3 = 2
enum AutotileBindings:
BIND_TOPLEFT = 1
BIND_TOP = 2
BIND_TOPRIGHT = 4
BIND_LEFT = 8
BIND_CENTER = 16
BIND_RIGHT = 32
BIND_BOTTOMLEFT = 64
BIND_BOTTOM = 128
BIND_BOTTOMRIGHT = 256
enum TileMode:
SINGLE_TILE = 0
AUTO_TILE = 1
ATLAS_TILE = 2
方法说明
- Vector2 _forward_atlas_subtile_selection ( int atlastile_id, Object tilemap, Vector2 tile_location ) virtual
- Vector2 _forward_subtile_selection ( int autotile_id, int bitmask, Object tilemap, Vector2 tile_location ) virtual
确定什么时候自动图块器应该考虑将两个不同的自动图块器ID绑定在一起。
注意: neighbour_id
当检查一个图块与一个空的相邻图块时,将是-1
,即TileMap.INVALID_CELL。
- void autotile_clear_bitmask_map ( int id )
清除自动图块的所有bit位掩码信息。
返回给定坐标的自动图块中的子图块的位掩码。
该值是子图块中存在的 AutotileBindings 值的总和。例如,值为 5 意味着该位掩码在左上角和右上角都有绑定。
- BitmaskMode autotile_get_bitmask_mode ( int id ) const
返回自动图块的BitmaskModebit位掩码模式。
返回在图集或自动图块中作为图标使用的子图块,并给出其坐标。
在图集或自动图块的bit位掩码信息不完整时,定义为图标的子图块将用作备用。它也被用于在图块集编辑器中表示它。
- OccluderPolygon2D autotile_get_light_occluder ( int id, Vector2 coord ) const
返回给定坐标的图集或自动图块中的子图块的光遮挡物。
- NavigationPolygon autotile_get_navigation_polygon ( int id, Vector2 coord ) const
返回指定坐标的图集或自动图块中,子图块的导航多边形。
返回图集或自动图块中,子图块的大小。
返回图集或自动图块的子图块之间的间距。
返回指定坐标自动图块中的子图层的优先级。
当一个以上的子图块具有相同的bit位掩码值时,期中一个将被随机挑选出来,进行绘制。它的优先级将决定被选中的频率。
返回指定坐标的图集或自动图块中,子图块的绘制索引。
设置给定自动图块的子图块的位掩码,指定其坐标。
这个值是子图块中 AutotileBindings 的值的总和。例如,值为 5 意味着位掩码在左上方和右上方都有绑定。
- void autotile_set_bitmask_mode ( int id, BitmaskMode mode )
设置自动图块的BitmaskMode位掩码模式。
设置在图集或自动图块中作为图标的子图层,并指定其坐标。
定义为图标的子图块,将在图集或自动图块的bit位掩码信息不完整时,被用作备用。它也被用来在图块集编辑器中表示它。
- void autotile_set_light_occluder ( int id, OccluderPolygon2D light_occluder, Vector2 coord )
设置来自图集或自动图块的子图块的光遮挡器,指定其坐标。
- void autotile_set_navigation_polygon ( int id, NavigationPolygon navigation_polygon, Vector2 coord )
设置来自图集或自动图块的子图块的导航多边形,指定其坐标。
设置图集或自动图块中子图块的大小。
设置图集或自动图块的子图块之间的间距。
设置一个自带坐标的子图块的优先级。
当多个子图块有相同的bit位掩码值时,其中之一将被随机挑选出来进行绘制。它的优先级决定被选中的频率。
设置一个图集或自动图块中的子图块的绘制索引,指定其坐标。
- void clear ( )
清除所有图块。
- void create_tile ( int id )
用给定的ID创建一个新的图块。
返回与给定名称相匹配的第一个图块。
- int get_last_unused_tile_id ( ) const
返回当前使用的最后一个ID之后的ID,在创建新图块时很有用。
- Array get_tiles_ids ( ) const
返回当前使用的所有图块ID的数组。
- void remove_tile ( int id )
移除给定的图块ID。
- void tile_add_shape ( int id, Shape2D shape, Transform2D shape_transform, bool one_way=false, Vector2 autotile_coord=Vector2( 0, 0 ) )
在图块上添加一个形状。
- OccluderPolygon2D tile_get_light_occluder ( int id ) const
返回该图块的光遮挡器。
- ShaderMaterial tile_get_material ( int id ) const
返回图块的材质。
返回图块的调制颜色。
返回图块的名称。
- NavigationPolygon tile_get_navigation_polygon ( int id ) const
返回图块的导航多边形。
返回图块的导航多边形的偏移量。
返回图块的法线贴图纹理。
返回图块的光遮挡器的偏移量。
返回纹理中图块的子区域。
返回图块的指定形状。
返回分配给图块的形状数量。
返回图块形状的偏移量。
返回图块形状的单向碰撞值。
- Transform2D tile_get_shape_transform ( int id, int shape_id ) const
返回图块形状的Transform2D。
返回描述图块形状的字典数组。
此方法返回数组中的字典结构:
{
"autotile_coord": Vector2,
"one_way": bool,
"one_way_margin": int,
"shape": CollisionShape2D,
"shape_transform": Transform2D,
}
返回图块的纹理。
返回图块的纹理偏移量。
返回图块的TileMode。
返回图块的Z索引,即绘制层。
- void tile_set_light_occluder ( int id, OccluderPolygon2D light_occluder )
为图块设置光遮挡器。
- void tile_set_material ( int id, ShaderMaterial material )
设置图块的材质。
设置图块的调制颜色。
设置图块的名称。
- void tile_set_navigation_polygon ( int id, NavigationPolygon navigation_polygon )
设置图块的导航多边形。
为图块的导航多边形设置一个偏移。
设置图块的法线贴图纹理。
注意: Godot希望法线贴图使用X+、Y-和Z+坐标。请参阅本页面,了解和比较流行引擎所期望的法线贴图坐标。
为图块的光遮挡器设置一个偏移量。
设置图块在纹理中的子区域。这在纹理图集中很常见。
为图块设置形状,实现碰撞。
设置图块形状的偏移量。
启用图块形状上的单向碰撞。
- void tile_set_shape_transform ( int id, int shape_id, Transform2D shape_transform )
在图块的形状上设置Transform2D。
为图块设置一个形状数组,实现碰撞。
设置图块的纹理。
设置图块的纹理偏移。
设置图块的TileMode。
设置图块的绘制索引。