Class reference

CanvasLayer

Inherits Node

A node used for independent rendering of objects within a 2D scene.

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.

Properties

Node custom_viewport

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

bool follow_viewport_enabled = false

If enabled, the CanvasLayer maintains its position in world space. If disabled, the CanvasLayer stays in a fixed position on the screen. Together with follow_viewport_scale, this can be used for a pseudo-3D effect.

float follow_viewport_scale = 1.0

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

Layer index for draw order. Lower values are drawn behind higher values. Note: If multiple CanvasLayers have the same layer index, CanvasItem children of one CanvasLayer are drawn behind the CanvasItem children of the other CanvasLayer. Which CanvasLayer is drawn in front is non-deterministic. Note: The layer index should be between RenderingServer.CANVAS_LAYER_MIN and RenderingServer.CANVAS_LAYER_MAX (inclusive). Any other value will wrap around.

Vector2 offset = Vector2(0, 0)

The layer's base offset.

float rotation = 0.0

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.

Methods

RID get_canvas() const

Returns the RID of the canvas used by this layer.

Signals

visibility_changed()

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

Tutorials

Source revision 704b10a8e178
Connection interrupted. Reload×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.