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

Hérite de : Node < Object

Hérité par : ParallaxBackground

Un nœud utilisé pour le rendu indépendant d'objets dans une scène 2D.

Description

CanvasItem-derived nodes that are direct or indirect children of a CanvasLayer will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index 0, so a CanvasLayer with index -1 will be drawn below, and a CanvasLayer with index 1 will be drawn above. This order will hold regardless of the CanvasItem.z_index of the nodes within each layer.

CanvasLayers can be hidden and they can also optionally follow the viewport. This makes them useful for HUDs like health bar overlays (on layers 1 and higher) or backgrounds (on layers -1 and lower).

Note: Embedded Windows are placed on layer 1024. CanvasItems on layers 1025 and higher appear in front of embedded windows.

Note: Each CanvasLayer is drawn on one specific Viewport and cannot be shared between multiple Viewports, see custom_viewport. When using multiple Viewports, for example in a split-screen game, you need to create an individual CanvasLayer for each Viewport you want it to be drawn on.

Tutoriels

Propriétés

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

Méthodes

RID

get_canvas() const

Transform2D

get_final_transform() const

void

hide()

void

show()


Signaux

visibility_changed() 🔗

Émis lorsque la visibilité de la couche est changée. Voir visible.


Descriptions des propriétés

Node custom_viewport 🔗

  • void set_custom_viewport(value: Node)

  • Node get_custom_viewport()

Le nœud Viewport personnalisé assigné au CanvasLayer. Si null, ça utilise la fenêtre d'affichage par défaut à la place.


bool follow_viewport_enabled = false 🔗

  • void set_follow_viewport(value: bool)

  • bool is_following_viewport()

Si activé, le CanvasLayer garde sa position dans l'espace global. Si désactivé, le CanvasLayer reste à une position fixe sur l'écran.

Avec follow_viewport_scale, cela peut être utilisé pour un effet de pseudo-3D.


float follow_viewport_scale = 1.0 🔗

  • void set_follow_viewport_scale(value: float)

  • float get_follow_viewport_scale()

Redimensionne la couche en utilisant follow_viewport_enabled. Les couches se déplaçant au premier plan devraient avoir des échelles croissantes, tandis que les couches se déplaçant dans le fond devraient avoir des couches décroissantes.


int layer = 1 🔗

  • void set_layer(value: int)

  • int get_layer()

Index de couche pour l'ordre du dessin. Les valeurs inférieures sont dessinées derrière les valeurs supérieures.

Note : Si plusieurs CanvasLayers ont le même index de couche, les enfants CanvasItem d'un CanvasLayer sont dessinés derrière les enfants CanvasItem de l'autre CanvasLayer. Quel CanvasLayer est dessiné devant est non-déterministe.

Note : L'index de couche devrait être entre RenderingServer.CANVAS_LAYER_MIN et RenderingServer.CANVAS_LAYER_MAX (inclusifs). Toute autre valeur rebouclera.


Vector2 offset = Vector2(0, 0) 🔗

Le décalage de base du calque.


float rotation = 0.0 🔗

  • void set_rotation(value: float)

  • float get_rotation()

La rotation du calque en radians.


Vector2 scale = Vector2(1, 1) 🔗

L'échelle du calque.


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

Le transform du calque.


bool visible = true 🔗

  • void set_visible(value: bool)

  • bool is_visible()

Si false, tous les CanvasItem dans ce CanvasLayer sont cachés.

Contrairement à CanvasItem.visible, la visibilité d'un CanvasLayer n'est pas propagée aux calques enfants.


Descriptions des méthodes

RID get_canvas() const 🔗

Renvoie le RID du canevas utilisé par ce calque.


Transform2D get_final_transform() const 🔗

Renvoie la transformation du système de coordonnées du CanvasLayer vers le système de coordonnées du Viewport.


void hide() 🔗

Masque tous les CanvasItem dans ce CanvasLayer. Ceci est équivalent à définir visible à false.


void show() 🔗

Affiche tous les CanvasItem dans ce CanvasLayer. Ceci est équivalent à définir visible à true.