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...
TileMap
Deprecato: Use multiple TileMapLayer nodes instead. To convert a TileMap to a set of TileMapLayer nodes, open the TileMap bottom panel with the node selected, click the toolbox icon in the top-right corner and choose 'Extract TileMap layers as individual TileMapLayer nodes'.
Eredita: Node2D < CanvasItem < Node < Object
Nodo per mappe basate su tasselli 2D.
Descrizione
Nodo per mappe basate su tasselli 2D. Le tilemap utilizzano un TileSet che contiene un elenco di tasselli che servono per creare mappe basate su una griglia. Una TileMap può avere diversi livelli, disponendo i tasselli uno sopra l'altro.
Per motivi di prestazioni, tutti gli aggiornamenti di TileMap sono raggruppati alla fine di un frame. In particolare, ciò significa che i tasselli di scena da un TileSetScenesCollectionSource possono essere inizializzate dopo il loro genitore. Ciò viene messo in coda solo quando si trova all'interno dell'albero della scena.
Per forzare un aggiornamento in anticipo, chiamare update_internals().
Nota: Per motivi di prestazioni e compatibilità, le coordinate serializzate da TileMap sono limitate a numeri interi con segno a 16 bit, ovvero l'intervallo per le coordinate X e Y è compreso tra -32768 e 32767. Quando si salvano i dati dei tasselli, i tasselli al di fuori di questo intervallo vengono avvolti.
Tutorial
Proprietà
|
||
|
||
|
||
|
||
Metodi
void |
_tile_data_runtime_update(layer: int, coords: Vector2i, tile_data: TileData) virtual |
_use_tile_data_runtime_update(layer: int, coords: Vector2i) virtual |
|
void |
|
void |
clear() |
void |
clear_layer(layer: int) |
void |
erase_cell(layer: int, coords: Vector2i) |
void |
|
void |
force_update(layer: int = -1) |
get_cell_alternative_tile(layer: int, coords: Vector2i, use_proxies: bool = false) const |
|
get_cell_atlas_coords(layer: int, coords: Vector2i, use_proxies: bool = false) const |
|
get_cell_source_id(layer: int, coords: Vector2i, use_proxies: bool = false) const |
|
get_cell_tile_data(layer: int, coords: Vector2i, use_proxies: bool = false) const |
|
get_coords_for_body_rid(body: RID) |
|
get_layer_for_body_rid(body: RID) |
|
get_layer_modulate(layer: int) const |
|
get_layer_name(layer: int) const |
|
get_layer_navigation_map(layer: int) const |
|
get_layer_y_sort_origin(layer: int) const |
|
get_layer_z_index(layer: int) const |
|
get_layers_count() const |
|
get_navigation_map(layer: int) const |
|
get_neighbor_cell(coords: Vector2i, neighbor: CellNeighbor) const |
|
get_pattern(layer: int, coords_array: Array[Vector2i]) |
|
get_surrounding_cells(coords: Vector2i) |
|
get_used_cells(layer: int) const |
|
get_used_cells_by_id(layer: int, source_id: int = -1, atlas_coords: Vector2i = Vector2i(-1, -1), alternative_tile: int = -1) const |
|
get_used_rect() const |
|
is_cell_flipped_h(layer: int, coords: Vector2i, use_proxies: bool = false) const |
|
is_cell_flipped_v(layer: int, coords: Vector2i, use_proxies: bool = false) const |
|
is_cell_transposed(layer: int, coords: Vector2i, use_proxies: bool = false) const |
|
is_layer_enabled(layer: int) const |
|
is_layer_navigation_enabled(layer: int) const |
|
is_layer_y_sort_enabled(layer: int) const |
|
local_to_map(local_position: Vector2) const |
|
map_pattern(position_in_tilemap: Vector2i, coords_in_pattern: Vector2i, pattern: TileMapPattern) |
|
map_to_local(map_position: Vector2i) const |
|
void |
move_layer(layer: int, to_position: int) |
void |
notify_runtime_tile_data_update(layer: int = -1) |
void |
remove_layer(layer: int) |
void |
set_cell(layer: int, coords: Vector2i, source_id: int = -1, atlas_coords: Vector2i = Vector2i(-1, -1), alternative_tile: int = 0) |
void |
set_cells_terrain_connect(layer: int, cells: Array[Vector2i], terrain_set: int, terrain: int, ignore_empty_terrains: bool = true) |
void |
set_cells_terrain_path(layer: int, path: Array[Vector2i], terrain_set: int, terrain: int, ignore_empty_terrains: bool = true) |
void |
set_layer_enabled(layer: int, enabled: bool) |
void |
set_layer_modulate(layer: int, modulate: Color) |
void |
set_layer_name(layer: int, name: String) |
void |
set_layer_navigation_enabled(layer: int, enabled: bool) |
void |
set_layer_navigation_map(layer: int, map: RID) |
void |
set_layer_y_sort_enabled(layer: int, y_sort_enabled: bool) |
void |
set_layer_y_sort_origin(layer: int, y_sort_origin: int) |
void |
set_layer_z_index(layer: int, z_index: int) |
void |
set_navigation_map(layer: int, map: RID) |
void |
set_pattern(layer: int, position: Vector2i, pattern: TileMapPattern) |
void |
Segnali
changed() 🔗
Emesso quando cambia il TileSet di questa TileMap.
Enumerazioni
enum VisibilityMode: 🔗
VisibilityMode VISIBILITY_MODE_DEFAULT = 0
Utilizza le impostazioni di debug per determinare la visibilità.
VisibilityMode VISIBILITY_MODE_FORCE_HIDE = 2
Nascondi sempre.
VisibilityMode VISIBILITY_MODE_FORCE_SHOW = 1
Mostra sempre.
Descrizioni delle proprietà
bool collision_animatable = false 🔗
Se abilitato, il TileMap vedrà le sue collisioni sincronizzate con il tick di fisica e cambierà il suo tipo di collisione da statico a cinematico. Ciò è necessario per creare piattaforme mobili basate sulle TileMap.
Nota: Abilitare collision_animatable potrebbe avere un piccolo impatto sulle prestazioni, fallo solo se il TileMap è in movimento e ha tasselli in collisione.
VisibilityMode collision_visibility_mode = 0 🔗
void set_collision_visibility_mode(value: VisibilityMode)
VisibilityMode get_collision_visibility_mode()
Mostra o nasconde le forme di collisione del TileMap. Se impostato su VISIBILITY_MODE_DEFAULT, questo dipende dalle impostazioni di debug di Mostra collisione.
void set_navigation_visibility_mode(value: VisibilityMode)
VisibilityMode get_navigation_visibility_mode()
Mostra o nasconde le mesh di navigazione del TileMap. Se impostato su VISIBILITY_MODE_DEFAULT, questo dipende dalle impostazioni di debug di Mostra collisione.
int rendering_quadrant_size = 16 🔗
Dimensioni dei quadrante di TileMap. Un quadrante è un gruppo di tasselli da disegnare insieme su un singolo elemento canvas, per motivi di ottimizzazione. rendering_quadrant_size definisce la lunghezza del lato di un quadrato, nel sistema di coordinate della mappa, che forma il quadrante. Quindi, le dimensioni predefinite dei quadranti raggruppano insieme 16 * 16 = 256 tasselli.
Le dimensioni dei quadranti non si applicano ai livelli ordinati in base a Y, poiché in quel caso i tasselli vengono raggruppati in base alla posizione Y.
Nota: Poiché i quadranti vengono creati in base al sistema di coordinate della mappa, la "forma quadrata" dei quadranti potrebbe non apparire quadrata nel sistema di coordinate locale del TileMap.
Il TileSet utilizzato da questo TileMap. Le texture, le collisioni e il comportamento aggiuntivo di tutti i tasselli disponibili sono memorizzati qui.
Descrizioni dei metodi
void _tile_data_runtime_update(layer: int, coords: Vector2i, tile_data: TileData) virtual 🔗
Chiamato con un oggetto TileData che sta per essere utilizzato internamente dal TileMap, consentendone la modifica in fase di esecuzione.
Questo metodo viene chiamato solo se _use_tile_data_runtime_update() è implementato e restituisce true per le coordinate del tassello coords e il livello layer.
Attenzione: Le sotto-risorse dell'oggetto tile_data sono le stesse di quelle nel TileSet. Modificarle potrebbe avere un impatto sull'intero TileSet. Assicurati invece di duplicare tali risorse.
Nota: Se le proprietà dell'oggetto tile_data dovessero cambiare nel tempo, usa notify_runtime_tile_data_update() per notificare alla TileMap che necessita di un aggiornamento.
bool _use_tile_data_runtime_update(layer: int, coords: Vector2i) virtual 🔗
Dovrebbe restituire true se il tassello alle coordinate coords sul livello layer richiede un aggiornamento in fase di esecuzione.
Attenzione: Assicurati che questa funzione restituisca true solo quando necessario. Qualsiasi tassello elaborato in fase di esecuzione senza che ce ne sia bisogno causerà una significativa penalizzazione delle prestazioni.
Nota: Se il risultato di questa funzione dovesse cambiare, usa notify_runtime_tile_data_update() per notificare alla TileMap che necessita di un aggiornamento.
void add_layer(to_position: int) 🔗
Aggiunge un livello alla posizione to_position nell'array. Se to_position è negativo, la posizione viene conteggiata dalla fine, con -1 che aggiunge il livello alla fine dell'array.
void clear() 🔗
Cancella tutte le celle.
void clear_layer(layer: int) 🔗
Cancella tutte le celle sul livello specificato.
Se layer è negativo, i livelli vengono accessi dall'ultimo.
void erase_cell(layer: int, coords: Vector2i) 🔗
Cancella la cella sul livello layer alle coordinate coords.
Se layer è negativo, i livelli vengono accessi dall'ultimo.
void fix_invalid_tiles() 🔗
Cancella le celle che non esistono nel tileset.
void force_update(layer: int = -1) 🔗
Deprecato: Use notify_runtime_tile_data_update() and/or update_internals() instead.
Forza l'aggiornamento del TileMap e del livello layer.
int get_cell_alternative_tile(layer: int, coords: Vector2i, use_proxies: bool = false) const 🔗
Restituisce l'ID di tassello alternativo della cella sul livello layer alle coordinate coords.
Se use_proxies è false, ignora i tasselli proxy del TileSet, restituendo l'identificatore alternativo non elaborato. Vedi TileSet.map_tile_proxy().
Se layer è negativo, i livelli vengono accessi dall'ultimo.
Vector2i get_cell_atlas_coords(layer: int, coords: Vector2i, use_proxies: bool = false) const 🔗
Restituisce l'ID di coordinate nell'atlante della cella sul livello layer alle coordinate coords. Restituisce Vector2i(-1, -1) se la cella non esiste.
Se use_proxies è false, ignora i tasselli proxy del TileSet, restituendo l'identificatore di coordinate nell'atlante non elaborato. Vedi TileSet.map_tile_proxy().
Se layer è negativo, i livelli vengono accessi dall'ultimo.
int get_cell_source_id(layer: int, coords: Vector2i, use_proxies: bool = false) const 🔗
Restituisce l'ID di sorgente della cella sul livello layer alle coordinate coords. Restituisce -1 se la cella non esiste.
Se use_proxies è false, ignora i tasselli proxy del TileSet, restituendo l'identificatore di sorgente non elaborato. Vedi TileSet.map_tile_proxy().
Se layer è negativo, i livelli vengono accessi dall'ultimo.
TileData get_cell_tile_data(layer: int, coords: Vector2i, use_proxies: bool = false) const 🔗
Restituisce l'oggetto TileData associato alla cella specificata oppure null se la cella non esiste o non è un TileSetAtlasSource.
Se layer è negativo, i livelli vengono accessi dall'ultimo.
func get_clicked_tile_power():
var clicked_cell = tile_map.local_to_map(tile_map.get_local_mouse_position())
var data = tile_map.get_cell_tile_data(0, clicked_cell)
if data:
return data.get_custom_data("power")
else:
return 0
Se use_proxies è false, ignora i tasselli proxy del TileSet, restituendo l'identificatore di sorgente non elaborato. Vedi TileSet.map_tile_proxy().
Vector2i get_coords_for_body_rid(body: RID) 🔗
Restituisce le coordinate del tassello per il RID del corpo fisico specificato. Tale RID può essere recuperato da KinematicCollision2D.get_collider_rid(), quando si entra in collisione con un tassello.
int get_layer_for_body_rid(body: RID) 🔗
Restituisce il livello del tassello per il RID del corpo fisico specificato. Tale RID può essere recuperato da KinematicCollision2D.get_collider_rid(), quando si entra in collisione con un tassello.
Color get_layer_modulate(layer: int) const 🔗
Restituisce la modulazione di un livello TileMap.
Se layer è negativo, i livelli vengono accessi dall'ultimo.
String get_layer_name(layer: int) const 🔗
Restituisce il nome di un livello della TileMap.
Se layer è negativo, si accede ai livelli dall'ultimo.
Restituisce il RID della mappa di navigazione NavigationServer2D assegnata al livello TileMap specificato da layer.
Per impostazione predefinita, TileMap utilizza la mappa di navigazione predefinita del World2D per il primo livello TileMap. Per ogni livello TileMap aggiuntivo, viene creata una nuova mappa di navigazione per il livello aggiuntivo.
Per assicurare che NavigationAgent2D passi da un livello TileMap all'altro, le mappe di navigazione utilizzano NavigationAgent2D.set_navigation_map() con la mappa di navigazione ricevuta da get_layer_navigation_map().
Se layer è negativo, i livelli vengono accessi dall'ultimo.
int get_layer_y_sort_origin(layer: int) const 🔗
Restituisce l'origine di ordinamento in Y di un livello della TileMap.
Se layer è negativo, si accede ai livelli dall'ultimo.
int get_layer_z_index(layer: int) const 🔗
Restituisce l'indice Z di un livello della TileMap.
Se layer è negativo, si accede ai livelli dall'ultimo.
int get_layers_count() const 🔗
Restituisce il numero di livelli nel TileMap.
Deprecato: Use get_layer_navigation_map() instead.
Restituisce il RID della mappa di navigazione nel NavigationServer2D assegnata al livello di TileMap layer.
Vector2i get_neighbor_cell(coords: Vector2i, neighbor: CellNeighbor) const 🔗
Restituisce la cella adiacente a quella con le coordinate coords, identificata dalla direzione neighbor. Questo metodo tiene conto dei diversi layout che una TileMap può assumere.
TileMapPattern get_pattern(layer: int, coords_array: Array[Vector2i]) 🔗
Crea un nuovo TileMapPattern dal livello e dall'insieme di celle specificati.
Se layer è negativo, si accede ai livelli dall'ultimo.
Array[Vector2i] get_surrounding_cells(coords: Vector2i) 🔗
Restituisce l'elenco di tutte le celle vicine a quella alle coordinate coords.
Array[Vector2i] get_used_cells(layer: int) const 🔗
Restituisce un array di Vector2i con le posizioni di tutte le celle contenenti un tassello nel livello specificato. Una cella è considerata vuota se il suo identificatore di sorgente è uguale a -1, i suoi identificatori di coordinate nell'atlante sono Vector2(-1, -1) e il suo identificatore di alternativa è -1.
Se layer è negativo, si accede ai livelli dall'ultimo.
Array[Vector2i] get_used_cells_by_id(layer: int, source_id: int = -1, atlas_coords: Vector2i = Vector2i(-1, -1), alternative_tile: int = -1) const 🔗
Restituisce un array di Vector2i con le posizioni di tutte le celle contenenti un tassello nel livello specificato. È possibile filtrare i tasselli in base alla loro sorgente (source_id), alle loro coordinate nell'atlante (atlas_coords) o all'ID alternativo (alternative_tile).
Se un parametro ha il suo valore impostato su quello predefinito, tale parametro non viene utilizzato per filtrare una cella. Pertanto, se tutti i parametri hanno il loro rispettivo valore predefinito, questo metodo restituisce lo stesso risultato di get_used_cells().
Una cella è considerata vuota se il suo identificatore di origine è uguale a -1, i suoi identificatori di coordinate nell'atlante sono Vector2(-1, -1) e il suo identificatore alternativo è -1.
Se layer è negativo, i livelli vengono accessi dall'ultimo.
Rect2i get_used_rect() const 🔗
Restituisce un rettangolo che racchiude i tasselli utilizzati (non vuoti) della mappa, inclusi tutti i livelli.
bool is_cell_flipped_h(layer: int, coords: Vector2i, use_proxies: bool = false) const 🔗
Restituisce true se la cella sul livello layer alle coordinate coords è ribaltata orizzontalmente. Il risultato è valido solo per le sorgenti atlante.
bool is_cell_flipped_v(layer: int, coords: Vector2i, use_proxies: bool = false) const 🔗
Restituisce true se la cella sul livello layer alle coordinate coords è ribaltata verticalmente. Il risultato è valido solo per le sorgenti atlante.
bool is_cell_transposed(layer: int, coords: Vector2i, use_proxies: bool = false) const 🔗
Restituisce true se la cella sul livello layer alle coordinate coords è trasposta. Il risultato è valido solo per le sorgenti atlante.
bool is_layer_enabled(layer: int) const 🔗
Restituisce se un livello è abilitato.
Se layer è negativo, si accede ai livelli dall'ultimo.
Restituisce se è abilitata la generazione integrata delle regioni di navigazione in un livello.
bool is_layer_y_sort_enabled(layer: int) const 🔗
Restituisce se un livello ordina in Y i suoi tasselli.
Se layer è negativo, si accede ai livelli dall'ultimo.
Vector2i local_to_map(local_position: Vector2) const 🔗
Restituisce le coordinate della mappa della cella contenente la posizione locale local_position. Se local_position è in coordinate globali, considera di usare Node2D.to_local() prima di passarlo a questo metodo. Vedi anche map_to_local().
Vector2i map_pattern(position_in_tilemap: Vector2i, coords_in_pattern: Vector2i, pattern: TileMapPattern) 🔗
Restituisce per le coordinate coords_in_pattern in un TileMapPattern le coordinate della cella corrispondente se il motivo è stato incollato alle coordinate position_in_tilemap (vedi set_pattern()). Questa mappatura è necessaria poiché nelle forme di tasselli con scostamenti dimezzati, la mappatura potrebbe non funzionare calcolando position_in_tile_map + coords_in_pattern.
Vector2 map_to_local(map_position: Vector2i) const 🔗
Restituisce la posizione centrata di una cella nello spazio di coordinate locale del TileMap. Per convertire il valore restituito in coordinate globali, usa Node2D.to_global(). Vedi anche local_to_map().
Nota: Questo potrebbe non corrispondere alla posizione visiva del tassello, ovvero ignora la proprietà TileData.texture_origin dei singoli tasselli.
void move_layer(layer: int, to_position: int) 🔗
Sposta il livello all'indice layer nella posizione to_position specificata nell'array.
void notify_runtime_tile_data_update(layer: int = -1) 🔗
Notifica al nodo TileMap che le chiamate a _use_tile_data_runtime_update() o _tile_data_runtime_update() porteranno a risultati diversi. Ciò attiverà quindi un aggiornamento della TileMap.
Se viene fornito layer, notifica solo le modifiche per il livello specificato. Fornire l'argomento layer (quando applicabile) è solitamente preferibile per motivi di prestazioni.
Attenzione: L'aggiornamento delle TileMap è computazionalmente costoso e potrebbe avere un impatto sulle prestazioni. Prova a limitare il numero di chiamate a questa funzione per evitare aggiornamenti non necessari.
Nota: Ciò non attiva un aggiornamento diretto del TileMap, l'aggiornamento verrà eseguito alla fine del frame come al solito (a meno che tu non chiami update_internals()).
void remove_layer(layer: int) 🔗
Rimuove il livello all'indice layer.
void set_cell(layer: int, coords: Vector2i, source_id: int = -1, atlas_coords: Vector2i = Vector2i(-1, -1), alternative_tile: int = 0) 🔗
Imposta gli identificatori del tassello per la cella sul livello layer alle coordinate coords. Ogni tassello del TileSet è identificato utilizzando tre parti:
L'identificatore sorgente
source_ididentifica un identificatore TileSetSource. Vedi TileSet.set_source_id(),L'identificatore delle coordinate nell'atlante
atlas_coordsidentifica le coordinate di un tassello nell'atlante (se la sorgente è un TileSetAtlasSource). Per TileSetScenesCollectionSource dovrebbe essere sempreVector2i(0, 0)),L'identificatore di tassello alternativo
alternative_tileidentifica un tassello alternativo nell'atlante (se la sorgente è un TileSetAtlasSource) e la scena per un TileSetScenesCollectionSource.
Se source_id è impostato su -1, atlas_coords su Vector2i(-1, -1) o alternative_tile su -1, la cella verrà cancellata. Una cella cancellata ottiene tutti i suoi identificatori impostati automaticamente sui rispettivi valori non validi, ovvero -1, Vector2i(-1, -1) e -1.
Se layer è negativo, i livelli vengono accessi dall'ultimo.
void set_cells_terrain_connect(layer: int, cells: Array[Vector2i], terrain_set: int, terrain: int, ignore_empty_terrains: bool = true) 🔗
Aggiorna tutte le celle alle coordinate nell'array cells in modo che utilizzino il terreno terrain per l'insieme di terreni terrain_set. Se una cella aggiornata ha lo stesso terreno di una delle celle vicine, questa funzione tenta di unirle. Questa funzione potrebbe aggiornare i tasselli vicini se necessario per creare transizioni di terreno corrette.
Se ignore_empty_terrains è true, i terreni vuoti verranno ignorati quando si tenta di trovare la tessera più adatta per i vincoli di terreno specificati.
Se layer è negativo, si accede ai livelli dall'ultimo.
Nota: Per funzionare correttamente, questo metodo richiede che il TileSet di TileMap abbia terreni impostati con tutte le combinazioni richieste di terreno. Altrimenti, potrebbe produrre risultati imprevisti.
void set_cells_terrain_path(layer: int, path: Array[Vector2i], terrain_set: int, terrain: int, ignore_empty_terrains: bool = true) 🔗
Aggiorna tutte le celle alle coordinate nell'array path in modo che utilizzino il terreno terrain per l'insieme di terreni terrain_set. Questa funzione potrebbe anche connettere due celle successive nel percorso con lo stesso terreno. Questa funzione potrebbe aggiornare i tasselli vicini se necessario per creare transizioni di terreno corrette.
Se ignore_empty_terrains è true, i terreni vuoti verranno ignorati quando si tenta di trovare la tessera più adatta per i vincoli di terreno specificati.
Se layer è negativo, si accede ai livelli dall'ultimo.
Nota: Per funzionare correttamente, questo metodo richiede che il TileSet di TileMap abbia terreni impostati con tutte le combinazioni richieste di terreno. Altrimenti, potrebbe produrre risultati imprevisti.
void set_layer_enabled(layer: int, enabled: bool) 🔗
Abilita o disabilita il livello layer. Un livello disabilitato non viene elaborato affatto (niente rendering, niente fisica, ecc.).
Se layer è negativo, i livelli vengono accessi dall'ultimo.
void set_layer_modulate(layer: int, modulate: Color) 🔗
Imposta il colore di un livello. Sarà moltiplicato per il colore del tassello e per la modulazione del TileMap.
Se layer è negativo, i livelli vengono accessi dall'ultimo.
void set_layer_name(layer: int, name: String) 🔗
Imposta il nome di un livello. Utile soprattutto nell'editor.
Se layer è negativo, i livelli vengono accessi dall'ultimo.
Abilita o disabilita la generazione di regioni integrate di navigazione per un livello. Disabilita questa opzione è necessario precalcolare le regioni di navigazione da una TileMap attraverso un nodo NavigationRegion2D.
Assegna map come mappa di navigazione dal NavigationServer2D per il livello TileMap specificato da layer.
Per impostazione predefinita, TileMap utilizza la mappa predefinita di navigazione World2D per il primo livello TileMap. Per ogni livello TileMap aggiuntivo, viene creata una nuova mappa di navigazione per il livello aggiuntivo.
Per assicurare che NavigationAgent2D passi da un livello TileMap all'altro, le mappe di navigazione utilizzano NavigationAgent2D.set_navigation_map() con la mappa di navigazione ricevuta da get_layer_navigation_map().
Se layer è negativo, i livelli vengono accessi dall'ultimo.
void set_layer_y_sort_enabled(layer: int, y_sort_enabled: bool) 🔗
Abilita o disabilita l'ordinamento per Y di un livello. Se un livello è ordinato per Y, il livello si comporterà come un nodo CanvasItem, in cui anche ogni suo tassello viene ordinato per Y.
Solitamente, i livelli ordinati per Y dovrebbero avere indici Z diversi dai livelli non ordinati, altrimenti, ciascuno di tali livelli verrà ordinato come un insieme con quello ordinato per Y. Ciò è solitamente un comportamento indesiderato.
Se layer è negativo, i livelli vengono accessi dall'ultimo.
void set_layer_y_sort_origin(layer: int, y_sort_origin: int) 🔗
Imposta il valore di origine per l'ordinamento per Y di un livello. Questo viene sommato all'origine per l'ordinamento per Y di ogni tassello.
Ciò consente, ad esempio, di simulare un'altezza diversa su ogni livello. Può essere utile per i giochi con vista dall'alto.
Se layer è negativo, i livelli vengono accessi dall'ultimo.
void set_layer_z_index(layer: int, z_index: int) 🔗
Imposta l'indice Z del livello. Questo indice Z viene sommato all'indice Z di ogni tassello.
Se layer è negativo, i livelli vengono accessi dall'ultimo.
Deprecato: Use set_layer_navigation_map() instead.
Assegna map come mappa di navigazione del NavigationServer2D per il livello del TileMap specificato da layer.
void set_pattern(layer: int, position: Vector2i, pattern: TileMapPattern) 🔗
Incolla il TileMapPattern specificato nella posizione position e nel livello layer specificati nella tile map.
Se layer è negativo, i livelli vengono accessi dall'ultimo.
void update_internals() 🔗
Attiva un aggiornamento diretto della TileMap. Di solito, non è necessario chiamare questa funzione, poiché il nodo TileMap si aggiorna automaticamente quando una delle sue proprietà o celle viene modificata.
Tuttavia, per motivi di prestazioni, tali aggiornamenti vengono raggruppati e ritardati alla fine del frame. Chiamare questa funzione forzerà invece la TileMap ad aggiornarsi immediatamente.
Avviso: L'aggiornamento della TileMap è computazionalmente costoso e potrebbe avere un impatto sulle prestazioni. Prova a limitare il numero di aggiornamenti e il numero di tasselli che influenzano.