TileSet

Inherits: Resource < Reference < Object

Tile library for tilemaps.

Description

A TileSet is a library of tiles for a TileMap. It contains a list of tiles, each consisting of a sprite and optional collision shapes.

Tiles are referenced by a unique integer ID.

Tutorials

Methods

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
voidautotile_clear_bitmask_map ( int id )
intautotile_get_bitmask ( int id, Vector2 coord )
BitmaskModeautotile_get_bitmask_mode ( int id ) const
Vector2autotile_get_icon_coordinate ( int id ) const
OccluderPolygon2Dautotile_get_light_occluder ( int id, Vector2 coord ) const
NavigationPolygonautotile_get_navigation_polygon ( int id, Vector2 coord ) const
Vector2autotile_get_size ( int id ) const
intautotile_get_spacing ( int id ) const
intautotile_get_subtile_priority ( int id, Vector2 coord )
intautotile_get_z_index ( int id, Vector2 coord )
voidautotile_set_bitmask ( int id, Vector2 bitmask, int flag )
voidautotile_set_bitmask_mode ( int id, BitmaskMode mode )
voidautotile_set_icon_coordinate ( int id, Vector2 coord )
voidautotile_set_light_occluder ( int id, OccluderPolygon2D light_occluder, Vector2 coord )
voidautotile_set_navigation_polygon ( int id, NavigationPolygon navigation_polygon, Vector2 coord )
voidautotile_set_size ( int id, Vector2 size )
voidautotile_set_spacing ( int id, int spacing )
voidautotile_set_subtile_priority ( int id, Vector2 coord, int priority )
voidautotile_set_z_index ( int id, Vector2 coord, int z_index )
voidclear ( )
voidcreate_tile ( int id )
intfind_tile_by_name ( String name ) const
intget_last_unused_tile_id ( ) const
Arrayget_tiles_ids ( ) const
voidremove_tile ( int id )
voidtile_add_shape ( int id, Shape2D shape, Transform2D shape_transform, bool one_way=false, Vector2 autotile_coord=Vector2( 0, 0 ) )
OccluderPolygon2Dtile_get_light_occluder ( int id ) const
ShaderMaterialtile_get_material ( int id ) const
Colortile_get_modulate ( int id ) const
Stringtile_get_name ( int id ) const
NavigationPolygontile_get_navigation_polygon ( int id ) const
Vector2tile_get_navigation_polygon_offset ( int id ) const
Texturetile_get_normal_map ( int id ) const
Vector2tile_get_occluder_offset ( int id ) const
Rect2tile_get_region ( int id ) const
Shape2Dtile_get_shape ( int id, int shape_id ) const
inttile_get_shape_count ( int id ) const
Vector2tile_get_shape_offset ( int id, int shape_id ) const
booltile_get_shape_one_way ( int id, int shape_id ) const
floattile_get_shape_one_way_margin ( int id, int shape_id ) const
Transform2Dtile_get_shape_transform ( int id, int shape_id ) const
Arraytile_get_shapes ( int id ) const
Texturetile_get_texture ( int id ) const
Vector2tile_get_texture_offset ( int id ) const
TileModetile_get_tile_mode ( int id ) const
inttile_get_z_index ( int id ) const
voidtile_set_light_occluder ( int id, OccluderPolygon2D light_occluder )
voidtile_set_material ( int id, ShaderMaterial material )
voidtile_set_modulate ( int id, Color color )
voidtile_set_name ( int id, String name )
voidtile_set_navigation_polygon ( int id, NavigationPolygon navigation_polygon )
voidtile_set_navigation_polygon_offset ( int id, Vector2 navigation_polygon_offset )
voidtile_set_normal_map ( int id, Texture normal_map )
voidtile_set_occluder_offset ( int id, Vector2 occluder_offset )
voidtile_set_region ( int id, Rect2 region )
voidtile_set_shape ( int id, int shape_id, Shape2D shape )
voidtile_set_shape_offset ( int id, int shape_id, Vector2 shape_offset )
voidtile_set_shape_one_way ( int id, int shape_id, bool one_way )
voidtile_set_shape_one_way_margin ( int id, int shape_id, float one_way )
voidtile_set_shape_transform ( int id, int shape_id, Transform2D shape_transform )
voidtile_set_shapes ( int id, Array shapes )
voidtile_set_texture ( int id, Texture texture )
voidtile_set_texture_offset ( int id, Vector2 texture_offset )
voidtile_set_tile_mode ( int id, TileMode tilemode )
voidtile_set_z_index ( int id, int z_index )

Enumerations

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

Method Descriptions



  • bool _is_tile_bound ( int drawn_id, int neighbor_id ) virtual

Determines when the auto-tiler should consider two different auto-tile IDs to be bound together.

Note: neighbor_id will be -1 (TileMap.INVALID_CELL) when checking a tile against an empty neighbor tile.


  • void autotile_clear_bitmask_map ( int id )

Clears all bitmask information of the autotile.


Returns the bitmask of the subtile from an autotile given its coordinates.

The value is the sum of the values in AutotileBindings present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right).


Returns the BitmaskMode of the autotile.


  • Vector2 autotile_get_icon_coordinate ( int id ) const

Returns the subtile that’s being used as an icon in an atlas/autotile given its coordinates.

The subtile defined as the icon will be used as a fallback when the atlas/autotile’s bitmask information is incomplete. It will also be used to represent it in the TileSet editor.


Returns the light occluder of the subtile from an atlas/autotile given its coordinates.


Returns the navigation polygon of the subtile from an atlas/autotile given its coordinates.


Returns the size of the subtiles in an atlas/autotile.


  • int autotile_get_spacing ( int id ) const

Returns the spacing between subtiles of the atlas/autotile.


Returns the priority of the subtile from an autotile given its coordinates.

When more than one subtile has the same bitmask value, one of them will be picked randomly for drawing. Its priority will define how often it will be picked.


Returns the drawing index of the subtile from an atlas/autotile given its coordinates.


Sets the bitmask of the subtile from an autotile given its coordinates.

The value is the sum of the values in AutotileBindings present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right).


Sets the BitmaskMode of the autotile.


  • void autotile_set_icon_coordinate ( int id, Vector2 coord )

Sets the subtile that will be used as an icon in an atlas/autotile given its coordinates.

The subtile defined as the icon will be used as a fallback when the atlas/autotile’s bitmask information is incomplete. It will also be used to represent it in the TileSet editor.


Sets the light occluder of the subtile from an atlas/autotile given its coordinates.


Sets the navigation polygon of the subtile from an atlas/autotile given its coordinates.


Sets the size of the subtiles in an atlas/autotile.


  • void autotile_set_spacing ( int id, int spacing )

Sets the spacing between subtiles of the atlas/autotile.


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

Sets the priority of the subtile from an autotile given its coordinates.

When more than one subtile has the same bitmask value, one of them will be picked randomly for drawing. Its priority will define how often it will be picked.


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

Sets the drawing index of the subtile from an atlas/autotile given its coordinates.


  • void clear ( )

Clears all tiles.


  • void create_tile ( int id )

Creates a new tile with the given ID.


Returns the first tile matching the given name.


  • int get_last_unused_tile_id ( ) const

Returns the ID following the last currently used ID, useful when creating a new tile.


  • Array get_tiles_ids ( ) const

Returns an array of all currently used tile IDs.


  • void remove_tile ( int id )

Removes the given tile ID.


Adds a shape to the tile.


Returns the tile’s light occluder.


Returns the tile’s material.


  • Color tile_get_modulate ( int id ) const

Returns the tile’s modulation color.


Returns the tile’s name.


Returns the navigation polygon of the tile.


  • Vector2 tile_get_navigation_polygon_offset ( int id ) const

Returns the offset of the tile’s navigation polygon.


Returns the tile’s normal map texture.


  • Vector2 tile_get_occluder_offset ( int id ) const

Returns the offset of the tile’s light occluder.


Returns the tile sub-region in the texture.


Returns a tile’s given shape.


  • int tile_get_shape_count ( int id ) const

Returns the number of shapes assigned to a tile.


Returns the offset of a tile’s shape.


  • bool tile_get_shape_one_way ( int id, int shape_id ) const

Returns the one-way collision value of a tile’s shape.


  • float tile_get_shape_one_way_margin ( int id, int shape_id ) const

Returns the Transform2D of a tile’s shape.


Returns an array of dictionaries describing the tile’s shapes.

Dictionary structure in the array returned by this method:

  1. {
  2. "autotile_coord": Vector2,
  3. "one_way": bool,
  4. "one_way_margin": int,
  5. "shape": CollisionShape2D,
  6. "shape_transform": Transform2D,
  7. }

Returns the tile’s texture.


Returns the texture offset of the tile.


Returns the tile’s TileMode.


  • int tile_get_z_index ( int id ) const

Returns the tile’s Z index (drawing layer).


Sets a light occluder for the tile.


Sets the tile’s material.


  • void tile_set_modulate ( int id, Color color )

Sets the tile’s modulation color.


Sets the tile’s name.


Sets the tile’s navigation polygon.


  • void tile_set_navigation_polygon_offset ( int id, Vector2 navigation_polygon_offset )

Sets an offset for the tile’s navigation polygon.


  • void tile_set_normal_map ( int id, Texture normal_map )

Sets the tile’s normal map texture.

Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See this page for a comparison of normal map coordinates expected by popular engines.


  • void tile_set_occluder_offset ( int id, Vector2 occluder_offset )

Sets an offset for the tile’s light occluder.


  • void tile_set_region ( int id, Rect2 region )

Sets the tile’s sub-region in the texture. This is common in texture atlases.


Sets a shape for the tile, enabling collision.


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

Sets the offset of a tile’s shape.


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

Enables one-way collision on a tile’s shape.


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

Sets a Transform2D on a tile’s shape.


  • void tile_set_shapes ( int id, Array shapes )

Sets an array of shapes for the tile, enabling collision.


  • void tile_set_texture ( int id, Texture texture )

Sets the tile’s texture.


  • void tile_set_texture_offset ( int id, Vector2 texture_offset )

Sets the tile’s texture offset.


Sets the tile’s TileMode.


  • void tile_set_z_index ( int id, int z_index )

Sets the tile’s drawing index.