CanvasLayer
Ereditato da: ParallaxBackground
Un nodo utilizzato per il rendering indipendente di oggetti all'interno di una scena 2D.
Descrizione
I nodi derivati da CanvasItem che sono figli diretti o indiretti di un CanvasLayer saranno disegnati in quel livello. Il livello è un indice numerico che definisce l'ordine di disegno. La scena 2D predefinita renderizza con un indice 0, quindi un CanvasLayer con indice -1 sarà disegnato sotto, e un CanvasLayer con indice 1 sarà disegnato sopra. Questo ordine sarà mantenuto a prescindere dal CanvasItem.z_index dei nodi all'interno di ciascun livello.
È possibile nascondere i CanvasLayer e anche facoltativamente seguire la viewport. Ciò li rende utili per HUD come overlay di barre della salute (su livelli 1 e superiori) o sfondi (su livelli -1 e inferiori).
Nota: I nodi Window incorporati sono posizionati sul livello 1024. I CanvasItem sui livelli 1025 e superiori sono visualizzati davanti alle finestre incorporate.
Nota: Ogni CanvasLayer è disegnato su una specifica Viewport e non può essere condiviso tra più Viewport, vedi custom_viewport. Quando si utilizzano più Viewport, ad esempio in un gioco a schermo diviso, è necessario creare un CanvasLayer per ogni Viewport su cui si desidera che sia disegnato.
Tutorial
Proprietà
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Metodi
get_canvas() const |
|
get_final_transform() const |
|
void |
hide() |
void |
show() |
Segnali
visibility_changed() 🔗
Emesso quando la visibilità del livello viene modificata. Vedi visible.
Descrizioni delle proprietà
Il nodo Viewport personalizzato assegnato al CanvasLayer. Se null, utilizza invece la viewport predefinita.
bool follow_viewport_enabled = false 🔗
Se abilitato, il CanvasLayer mantiene la sua pozione in spazio globale. Se disabilitato, il CanvasLayer rimarrà in una posizione fissa sullo schermo.
Insieme a follow_viewport_scale può essere utilizzato per un effetto pseudo 3D.
float follow_viewport_scale = 1.0 🔗
Ridimensiona il livello quando si usa follow_viewport_enabled. I livelli che si spostano in primo piano dovrebbero avere scale crescenti, mentre i livelli che si spostano sullo sfondo dovrebbero avere scale decrescenti.
Indice di livello per l'ordine di visualizzazione. I valori più bassi sono disegnati dietro i valori più alti.
Nota: Se più CanvasLayer hanno lo stesso indice di livello, i figli CanvasItem di un CanvasLayer sono disegnati dietro i figli CanvasItem dell'altro CanvasLayer. Quale dei CanvasLayer è disegnato in primo piano non è deterministico.
Nota: L'indice di livello deve essere compreso tra RenderingServer.CANVAS_LAYER_MIN e RenderingServer.CANVAS_LAYER_MAX (inclusi). Qualsiasi altro valore verrà avvolto.
Vector2 offset = Vector2(0, 0) 🔗
Lo spostamento di base del livello.
La rotazione del livello in radianti.
Vector2 scale = Vector2(1, 1) 🔗
La scala del livello.
Transform2D transform = Transform2D(1, 0, 0, 1, 0, 0) 🔗
void set_transform(value: Transform2D)
Transform2D get_transform()
La trasformazione del livello.
Se false, qualsiasi CanvasItem sotto questo CanvasLayer sarà nascosto.
A differenza di CanvasItem.visible, la visibilità di un CanvasLayer non è propagata ai livelli sottostanti.
Descrizioni dei metodi
Restituisce il RID del canvas utilizzato da questo livello.
Transform2D get_final_transform() const 🔗
Restituisce la trasformazione dal sistema di coordinate del CanvasLayer al sistema di coordinate della Viewport.
void hide() 🔗
Nasconde qualsiasi CanvasItem sotto questo CanvasLayer. Ciò equivale a impostare visible su false.
void show() 🔗
Mostra qualsiasi CanvasItem sotto questo CanvasLayer. Ciò equivale a impostare visible su true.