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).

Tutorials

Properties

Node

custom_viewport

bool

follow_viewport_enable

false

float

follow_viewport_scale

1.0

int

layer

1

Vector2

offset

Vector2( 0, 0 )

float

rotation

0.0

float

rotation_degrees

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_enable = 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_enable. 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 behind higher values.


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.


float rotation_degrees = 0.0

  • void set_rotation_degrees ( float value )

  • float get_rotation_degrees ( )

The layer's rotation in degrees.


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.