2022-03-15 13:29:32 +01:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-10-12 01:59:32 +02:00
<class name= "CanvasLayer" inherits= "Node" version= "4.2" >
2022-03-15 13:29:32 +01:00
<brief_description >
Canvas drawing layer.
</brief_description>
<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).
</description>
<tutorials >
2023-08-29 22:33:15 +02:00
<link title= "Viewport and canvas transforms" > $DOCS_URL/tutorials/2d/2d_transforms.md</link>
<link title= "Canvas layers" > $DOCS_URL/tutorials/2d/canvas_layers.md</link>
2022-03-15 13:29:32 +01:00
<link title= "2D Dodge The Creeps Demo" > https://godotengine.org/asset-library/asset/515</link>
</tutorials>
<methods >
<method name= "get_canvas" qualifiers= "const" >
<return type= "RID" />
<description >
Returns the RID of the canvas used by this layer.
</description>
</method>
2022-12-22 19:06:10 +01:00
<method name= "get_final_transform" qualifiers= "const" >
<return type= "Transform2D" />
<description >
Returns the transform from the [CanvasLayer]s coordinate system to the [Viewport]s coordinate system.
</description>
</method>
2022-03-15 13:29:32 +01:00
<method name= "hide" >
<return type= "void" />
<description >
Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to setting [member visible] to [code]false[/code].
</description>
</method>
<method name= "show" >
<return type= "void" />
<description >
Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to setting [member visible] to [code]true[/code].
</description>
</method>
</methods>
<members >
<member name= "custom_viewport" type= "Node" setter= "set_custom_viewport" getter= "get_custom_viewport" >
The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/code], uses the default viewport instead.
</member>
<member name= "follow_viewport_enable" type= "bool" setter= "set_follow_viewport" getter= "is_following_viewport" default= "false" >
2022-09-05 18:34:52 +02:00
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 [member follow_viewport_scale] it can be used for a pseudo 3D effect.
2022-03-15 13:29:32 +01:00
</member>
<member name= "follow_viewport_scale" type= "float" setter= "set_follow_viewport_scale" getter= "get_follow_viewport_scale" default= "1.0" >
Scales the layer when using [member follow_viewport_enable]. Layers moving into the foreground should have increasing scales, while layers moving into the background should have decreasing scales.
</member>
<member name= "layer" type= "int" setter= "set_layer" getter= "get_layer" default= "1" >
2023-03-11 12:53:09 +01:00
Layer index for draw order. Lower values are drawn behind higher values.
2022-03-15 13:29:32 +01:00
</member>
<member name= "offset" type= "Vector2" setter= "set_offset" getter= "get_offset" default= "Vector2( 0, 0 )" >
The layer's base offset.
</member>
<member name= "rotation" type= "float" setter= "set_rotation" getter= "get_rotation" default= "0.0" >
The layer's rotation in radians.
</member>
<member name= "rotation_degrees" type= "float" setter= "set_rotation_degrees" getter= "get_rotation_degrees" default= "0.0" >
The layer's rotation in degrees.
</member>
<member name= "scale" type= "Vector2" setter= "set_scale" getter= "get_scale" default= "Vector2( 1, 1 )" >
The layer's scale.
</member>
<member name= "transform" type= "Transform2D" setter= "set_transform" getter= "get_transform" default= "Transform2D( 1, 0, 0, 1, 0, 0 )" >
The layer's transform.
</member>
<member name= "visible" type= "bool" setter= "set_visible" getter= "is_visible" default= "true" >
If [code]false[/code], any [CanvasItem] under this [CanvasLayer] will be hidden.
Unlike [member CanvasItem.visible], visibility of a [CanvasLayer] isn't propagated to underlying layers.
</member>
</members>
<signals >
<signal name= "visibility_changed" >
<description >
Emitted when visibility of the layer is changed. See [member visible].
</description>
</signal>
</signals>
<constants >
</constants>
</class>