TileSet

Inherits: Resource < Reference < Object

图块地图的图块库。

描述

图块集是TileMap图块地图的一个图块库。它包含图块的列表,每个图块由一个精灵和可选的碰撞形状组成。

图块由唯一的整数ID引用。

方法

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

bool

_is_tile_bound ( int drawn_id, int neighbor_id ) virtual

void

autotile_clear_bitmask_map ( int id )

int

autotile_get_bitmask ( int id, Vector2 coord )

BitmaskMode

autotile_get_bitmask_mode ( int id ) const

Vector2

autotile_get_icon_coordinate ( int id ) const

OccluderPolygon2D

autotile_get_light_occluder ( int id, Vector2 coord ) const

NavigationPolygon

autotile_get_navigation_polygon ( int id, Vector2 coord ) const

Vector2

autotile_get_size ( int id ) const

int

autotile_get_spacing ( int id ) const

int

autotile_get_subtile_priority ( int id, Vector2 coord )

int

autotile_get_z_index ( int id, Vector2 coord )

void

autotile_set_bitmask ( int id, Vector2 bitmask, int flag )

void

autotile_set_bitmask_mode ( int id, BitmaskMode mode )

void

autotile_set_icon_coordinate ( int id, Vector2 coord )

void

autotile_set_light_occluder ( int id, OccluderPolygon2D light_occluder, Vector2 coord )

void

autotile_set_navigation_polygon ( int id, NavigationPolygon navigation_polygon, Vector2 coord )

void

autotile_set_size ( int id, Vector2 size )

void

autotile_set_spacing ( int id, int spacing )

void

autotile_set_subtile_priority ( int id, Vector2 coord, int priority )

void

autotile_set_z_index ( int id, Vector2 coord, int z_index )

void

clear ( )

void

create_tile ( int id )

int

find_tile_by_name ( String name ) const

int

get_last_unused_tile_id ( ) const

Array

get_tiles_ids ( ) const

void

remove_tile ( int 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

Color

tile_get_modulate ( int id ) const

String

tile_get_name ( int id ) const

NavigationPolygon

tile_get_navigation_polygon ( int id ) const

Vector2

tile_get_navigation_polygon_offset ( int id ) const

Texture

tile_get_normal_map ( int id ) const

Vector2

tile_get_occluder_offset ( int id ) const

Rect2

tile_get_region ( int id ) const

Shape2D

tile_get_shape ( int id, int shape_id ) const

int

tile_get_shape_count ( int id ) const

Vector2

tile_get_shape_offset ( int id, int shape_id ) const

bool

tile_get_shape_one_way ( int id, int shape_id ) const

float

tile_get_shape_one_way_margin ( int id, int shape_id ) const

Transform2D

tile_get_shape_transform ( int id, int shape_id ) const

Array

tile_get_shapes ( int id ) const

Texture

tile_get_texture ( int id ) const

Vector2

tile_get_texture_offset ( int id ) const

TileMode

tile_get_tile_mode ( int id ) const

int

tile_get_z_index ( int id ) const

void

tile_set_light_occluder ( int id, OccluderPolygon2D light_occluder )

void

tile_set_material ( int id, ShaderMaterial material )

void

tile_set_modulate ( int id, Color color )

void

tile_set_name ( int id, String name )

void

tile_set_navigation_polygon ( int id, NavigationPolygon navigation_polygon )

void

tile_set_navigation_polygon_offset ( int id, Vector2 navigation_polygon_offset )

void

tile_set_normal_map ( int id, Texture normal_map )

void

tile_set_occluder_offset ( int id, Vector2 occluder_offset )

void

tile_set_region ( int id, Rect2 region )

void

tile_set_shape ( int id, int shape_id, Shape2D shape )

void

tile_set_shape_offset ( int id, int shape_id, Vector2 shape_offset )

void

tile_set_shape_one_way ( int id, int shape_id, bool one_way )

void

tile_set_shape_one_way_margin ( int id, int shape_id, float one_way )

void

tile_set_shape_transform ( int id, int shape_id, Transform2D shape_transform )

void

tile_set_shapes ( int id, Array shapes )

void

tile_set_texture ( int id, Texture texture )

void

tile_set_texture_offset ( int id, Vector2 texture_offset )

void

tile_set_tile_mode ( int id, TileMode tilemode )

void

tile_set_z_index ( int id, int z_index )

枚举

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

方法说明



  • bool _is_tile_bound ( int drawn_id, int neighbor_id ) virtual

确定什么时候自动图块器应该考虑将两个不同的自动图块器ID绑定在一起。

注意: neighbour_id当检查一个图块与一个空的相邻图块时,将是-1,即TileMap.INVALID_CELL


  • void autotile_clear_bitmask_map ( int id )

清除自动图块的所有bit位掩码信息。


返回给定坐标的自动图块中的子图块的位掩码。

该值是子图块中存在的 AutotileBindings 值的总和。例如,值为 5 意味着该位掩码在左上角和右上角都有绑定。


返回自动图块的BitmaskModebit位掩码模式。


  • Vector2 autotile_get_icon_coordinate ( int id ) const

返回在图集或自动图块中作为图标使用的子图块,并给出其坐标。

在图集或自动图块的bit位掩码信息不完整时,定义为图标的子图块将用作备用。它也被用于在图块集编辑器中表示它。


返回给定坐标的图集或自动图块中的子图块的光遮挡物。


返回指定坐标的图集或自动图块中,子图块的导航多边形。


返回图集或自动图块中,子图块的大小。


  • int autotile_get_spacing ( int id ) const

返回图集或自动图块的子图块之间的间距。


返回指定坐标自动图块中的子图层的优先级。

当一个以上的子图块具有相同的bit位掩码值时,期中一个将被随机挑选出来,进行绘制。它的优先级将决定被选中的频率。


返回指定坐标的图集或自动图块中,子图块的绘制索引。


  • void autotile_set_bitmask ( int id, Vector2 bitmask, int flag )

设置给定自动图块的子图块的位掩码,指定其坐标。

这个值是子图块中 AutotileBindings 的值的总和。例如,值为 5 意味着位掩码在左上方和右上方都有绑定。


设置自动图块的BitmaskMode位掩码模式。


  • void autotile_set_icon_coordinate ( int id, Vector2 coord )

设置在图集或自动图块中作为图标的子图层,并指定其坐标。

定义为图标的子图块,将在图集或自动图块的bit位掩码信息不完整时,被用作备用。它也被用来在图块集编辑器中表示它。


设置来自图集或自动图块的子图块的光遮挡器,指定其坐标。


设置来自图集或自动图块的子图块的导航多边形,指定其坐标。


设置图集或自动图块中子图块的大小。


  • void autotile_set_spacing ( int id, int spacing )

设置图集或自动图块的子图块之间的间距。


  • void autotile_set_subtile_priority ( int id, Vector2 coord, int priority )

设置一个自带坐标的子图块的优先级。

当多个子图块有相同的bit位掩码值时,其中之一将被随机挑选出来进行绘制。它的优先级决定被选中的频率。


  • void autotile_set_z_index ( int id, Vector2 coord, int z_index )

设置一个图集或自动图块中的子图块的绘制索引,指定其坐标。


  • void clear ( )

清除所有图块。


  • void create_tile ( int id )

用给定的ID创建一个新的图块。


  • int find_tile_by_name ( String name ) const

返回与给定名称相匹配的第一个图块。


  • int get_last_unused_tile_id ( ) const

返回当前使用的最后一个ID之后的ID,在创建新图块时很有用。


  • Array get_tiles_ids ( ) const

返回当前使用的所有图块ID的数组。


  • void remove_tile ( int id )

移除给定的图块ID。


在图块上添加一个形状。


返回该图块的光遮挡器。


返回图块的材质。


  • Color tile_get_modulate ( int id ) const

返回图块的调制颜色。


返回图块的名称。


返回图块的导航多边形。


  • Vector2 tile_get_navigation_polygon_offset ( int id ) const

返回图块的导航多边形的偏移量。


返回图块的法线贴图纹理。


  • Vector2 tile_get_occluder_offset ( int id ) const

返回图块的光遮挡器的偏移量。


  • Rect2 tile_get_region ( int id ) const

返回纹理中图块的子区域。


返回图块的指定形状。


  • int tile_get_shape_count ( int id ) const

返回分配给图块的形状数量。


返回图块形状的偏移量。


  • bool tile_get_shape_one_way ( int id, int shape_id ) const

返回图块形状的单向碰撞值。


  • float tile_get_shape_one_way_margin ( int id, int shape_id ) const


返回图块形状的Transform2D


  • Array tile_get_shapes ( int id ) const

返回描述图块形状的字典数组。

此方法返回数组中的字典结构:

{
    "autotile_coord": Vector2,
    "one_way": bool,
    "one_way_margin": int,
    "shape": CollisionShape2D,
    "shape_transform": Transform2D,
}

返回图块的纹理。


  • Vector2 tile_get_texture_offset ( int id ) const

返回图块的纹理偏移量。


返回图块的TileMode


  • int tile_get_z_index ( int id ) const

返回图块的Z索引,即绘制层。


为图块设置光遮挡器。


设置图块的材质。


  • void tile_set_modulate ( int id, Color color )

设置图块的调制颜色。


设置图块的名称。


设置图块的导航多边形。


  • void tile_set_navigation_polygon_offset ( int id, Vector2 navigation_polygon_offset )

为图块的导航多边形设置一个偏移。


  • void tile_set_normal_map ( int id, Texture normal_map )

设置图块的法线贴图纹理。

注意: Godot希望法线贴图使用X+、Y-和Z+坐标。请参阅本页面,了解和比较流行引擎所期望的法线贴图坐标。


  • void tile_set_occluder_offset ( int id, Vector2 occluder_offset )

为图块的光遮挡器设置一个偏移量。


  • void tile_set_region ( int id, Rect2 region )

设置图块在纹理中的子区域。这在纹理图集中很常见。


为图块设置形状,实现碰撞。


  • void tile_set_shape_offset ( int id, int shape_id, Vector2 shape_offset )

设置图块形状的偏移量。


  • void tile_set_shape_one_way ( int id, int shape_id, bool one_way )

启用图块形状上的单向碰撞。


  • void tile_set_shape_one_way_margin ( int id, int shape_id, float one_way )


  • void tile_set_shape_transform ( int id, int shape_id, Transform2D shape_transform )

在图块的形状上设置Transform2D


  • void tile_set_shapes ( int id, Array shapes )

为图块设置一个形状数组,实现碰撞。


  • void tile_set_texture ( int id, Texture texture )

设置图块的纹理。


  • void tile_set_texture_offset ( int id, Vector2 texture_offset )

设置图块的纹理偏移。


  • void tile_set_tile_mode ( int id, TileMode tilemode )

设置图块的TileMode


  • void tile_set_z_index ( int id, int z_index )

设置图块的绘制索引。