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.

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)

Metodi

int

create_scene_tile(packed_scene: PackedScene, id_override: int = -1)

int

get_next_scene_tile_id() const

bool

get_scene_tile_display_placeholder(id: int) const

int

get_scene_tile_id(index: int)

PackedScene

get_scene_tile_scene(id: int) const

int

get_scene_tiles_count()

bool

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.


int get_scene_tiles_count() 🔗

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.