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...
TileSetScenesCollectionSource
Eredita: TileSetSource < Resource < RefCounted < Object
Espone un insieme di scene come tasselli per una risorsa TileSet.
Descrizione
Quando sono posizionati su un TileMapLayer, i tasselli da TileSetScenesCollectionSource creeranno automaticamente un'istanza di una scena associata nella posizione della cella nel TileMapLayer.
Le scene vengono create come figlie del TileMapLayer dopo che entra nell'albero, alla fine del frame (la loro creazione viene differita). Se si aggiunge rimuove un tassello di scena nel TileMapLayer che è già all'interno dell'albero, il TileMapLayer creerà automaticamente un'istanza o libererà la scena di conseguenza.
Nota: Tutte i tasselli di scena occupano un solo posto tassello e invece usano l'ID alternativo per identificare l'indice della scena. TileSetSource.get_tiles_count() restituirà sempre 1. Usa get_scene_tiles_count() per ottenere un numero di scene in una TileSetScenesCollectionSource.
Usa questo codice se vuoi trovare il percorso della scena contenuta in un determinato tassello in TileMapLayer:
var source_id = tile_map_layer.get_cell_source_id(Vector2i(x, y))
if source_id > -1:
var scene_source = tile_map_layer.tile_set.get_source(source_id)
if scene_source is TileSetScenesCollectionSource:
var alt_id = tile_map_layer.get_cell_alternative_tile(Vector2i(x, y))
# Il PackedScene assegnato.
var scene = scene_source.get_scene_tile_scene(alt_id)
int sourceId = tileMapLayer.GetCellSourceId(new Vector2I(x, y));
if (sourceId > -1)
{
TileSetSource source = tileMapLayer.TileSet.GetSource(sourceId);
if (source is TileSetScenesCollectionSource sceneSource)
{
int altId = tileMapLayer.GetCellAlternativeTile(new Vector2I(x, y));
// Il PackedScene assegnato.
PackedScene scene = sceneSource.GetSceneTileScene(altId);
}
}
Metodi
create_scene_tile(packed_scene: PackedScene, id_override: int = -1) |
|
get_next_scene_tile_id() const |
|
get_scene_tile_display_placeholder(id: int) const |
|
get_scene_tile_id(index: int) |
|
get_scene_tile_scene(id: int) const |
|
has_scene_tile_id(id: int) |
|
void |
remove_scene_tile(id: int) |
void |
set_scene_tile_display_placeholder(id: int, display_placeholder: bool) |
void |
set_scene_tile_id(id: int, new_id: int) |
void |
set_scene_tile_scene(id: int, packed_scene: PackedScene) |
Descrizioni dei metodi
int create_scene_tile(packed_scene: PackedScene, id_override: int = -1) 🔗
Crea un tassello basato su una scena dalla scena specificata.
Restituisce un ID univoco appena generato.
int get_next_scene_tile_id() const 🔗
Restituisce l'ID di scena che una chiamata successiva a create_scene_tile() restituirebbe.
bool get_scene_tile_display_placeholder(id: int) const 🔗
Restituisce se il tassello di scena con id visualizza un segnaposto nell'editor.
int get_scene_tile_id(index: int) 🔗
Restituisce l'ID tassello di scena del tassello di scena all'indice index.
PackedScene get_scene_tile_scene(id: int) const 🔗
Restituisce la risorsa PackedScene del tassello di scena con id.
Restituisce il numero di tasselli di scena presenti in questa sorgente di TileSet.
bool has_scene_tile_id(id: int) 🔗
Restituisce se questa sorgente di TileSet ha un tassello di scena con l'id fornito.
void remove_scene_tile(id: int) 🔗
Rimuovi il tassello di scena con l'id fornito.
void set_scene_tile_display_placeholder(id: int, display_placeholder: bool) 🔗
Imposta se il tassello di scena con id debba visualizzare o meno un segnaposto nell'editor. Potrebbe essere utile per le scene che non sono visibili.
void set_scene_tile_id(id: int, new_id: int) 🔗
Modifica l'ID di un tassello di scena da id a new_id. L'operazione fallirà se è già presente un tassello con un ID uguale a new_id.
void set_scene_tile_scene(id: int, packed_scene: PackedScene) 🔗
Assegna una risorsa PackedScene al tassello di scena con id. L'operazione fallirà se la scena non estende CanvasItem, poiché sono necessarie proprietà di posizionamento per collocare la scena sul TileMapLayer.