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.

CanvasLayer

Eredita: Node < Object

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à

Node

custom_viewport

bool

follow_viewport_enabled

false

float

follow_viewport_scale

1.0

int

layer

1

Vector2

offset

Vector2(0, 0)

float

rotation

0.0

Vector2

scale

Vector2(1, 1)

Transform2D

transform

Transform2D(1, 0, 0, 1, 0, 0)

bool

visible

true

Metodi

RID

get_canvas() const

Transform2D

get_final_transform() const

void

hide()

void

show()


Segnali

visibility_changed() 🔗

Emesso quando la visibilità del livello viene modificata. Vedi visible.


Descrizioni delle proprietà

Node custom_viewport 🔗

  • void set_custom_viewport(value: Node)

  • Node get_custom_viewport()

Il nodo Viewport personalizzato assegnato al CanvasLayer. Se null, utilizza invece la viewport predefinita.


bool follow_viewport_enabled = false 🔗

  • void set_follow_viewport(value: bool)

  • bool is_following_viewport()

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 🔗

  • void set_follow_viewport_scale(value: float)

  • float get_follow_viewport_scale()

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.


int layer = 1 🔗

  • void set_layer(value: int)

  • int get_layer()

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.


float rotation = 0.0 🔗

  • void set_rotation(value: float)

  • float get_rotation()

La rotazione del livello in radianti.


Vector2 scale = Vector2(1, 1) 🔗

La scala del livello.


Transform2D transform = Transform2D(1, 0, 0, 1, 0, 0) 🔗

La trasformazione del livello.


bool visible = true 🔗

  • void set_visible(value: bool)

  • bool is_visible()

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

RID get_canvas() const 🔗

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.