CanvasLayer

Inherits: Node < Object

Inherited By: ParallaxBackground

Canvas drawing layer.

Description

Canvas drawing layer. CanvasItem 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 one with index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or above), or backgrounds (in layer -1 or below).

Embedded Windows are placed in layer 1024. CanvasItems in layer 1025 or above appear in front of embedded windows, CanvasItems in layer 1023 or below appear behind embedded windows.

Tutorials

Properties

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

Methods

RID

get_canvas ( ) const

Transform2D

get_final_transform ( ) const

void

hide ( )

void

show ( )


Signals

visibility_changed ( )

Emitted when visibility of the layer is changed. See visible.


Property Descriptions

Node custom_viewport

  • void set_custom_viewport ( Node value )

  • Node get_custom_viewport ( )

The custom Viewport node assigned to the CanvasLayer. If null, uses the default viewport instead.


bool follow_viewport_enabled = false

  • void set_follow_viewport ( bool value )

  • bool is_following_viewport ( )

If enabled, the CanvasLayer will use the viewport's transform, so it will move when camera moves instead of being anchored in a fixed position on the screen.

Together with follow_viewport_scale it can be used for a pseudo 3D effect.


float follow_viewport_scale = 1.0

  • void set_follow_viewport_scale ( float value )

  • float get_follow_viewport_scale ( )

Scales the layer when using follow_viewport_enabled. Layers moving into the foreground should have increasing scales, while layers moving into the background should have decreasing scales.


int layer = 1

  • void set_layer ( int value )

  • int get_layer ( )

Layer index for draw order. Lower values are drawn first.


Vector2 offset = Vector2(0, 0)

The layer's base offset.


float rotation = 0.0

  • void set_rotation ( float value )

  • float get_rotation ( )

The layer's rotation in radians.


Vector2 scale = Vector2(1, 1)

The layer's scale.


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

The layer's transform.


bool visible = true

  • void set_visible ( bool value )

  • bool is_visible ( )

If false, any CanvasItem under this CanvasLayer will be hidden.

Unlike CanvasItem.visible, visibility of a CanvasLayer isn't propagated to underlying layers.


Method Descriptions

RID get_canvas ( ) const

Returns the RID of the canvas used by this layer.


Transform2D get_final_transform ( ) const

Returns the transform from the CanvasLayers coordinate system to the Viewports coordinate system.


void hide ( )

Hides any CanvasItem under this CanvasLayer. This is equivalent to setting visible to false.


void show ( )

Shows any CanvasItem under this CanvasLayer. This is equivalent to setting visible to true.