2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-03-01 01:44:37 +01:00
<class name= "CanvasLayer" inherits= "Node" version= "4.1" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 22:42:36 +02:00
<brief_description >
2017-09-17 04:14:03 +02:00
Canvas drawing layer.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2019-03-29 23:37:35 +01:00
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).
2022-10-14 10:29:28 +02:00
Embedded [Window]s 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.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
2021-11-15 10:43:07 +01:00
<link title= "Viewport and canvas transforms" > $DOCS_URL/tutorials/2d/2d_transforms.html</link>
<link title= "Canvas layers" > $DOCS_URL/tutorials/2d/canvas_layers.html</link>
2020-10-01 10:34:47 +02:00
<link title= "2D Dodge The Creeps Demo" > https://godotengine.org/asset-library/asset/515</link>
2017-09-12 22:42:36 +02:00
</tutorials>
<methods >
2018-04-10 10:12:42 +02:00
<method name= "get_canvas" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "RID" />
2017-09-12 22:42:36 +02:00
<description >
2018-04-10 10:12:42 +02:00
Returns the RID of the canvas used by this layer.
2017-09-12 22:42:36 +02:00
</description>
</method>
2022-10-07 12:17:10 +02: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-02-15 14:25:18 +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>
2017-09-12 22:42:36 +02:00
</methods>
<members >
2019-06-29 21:22:15 +02:00
<member name= "custom_viewport" type= "Node" setter= "set_custom_viewport" getter= "get_custom_viewport" >
2019-06-22 01:04:47 +02:00
The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/code], uses the default viewport instead.
2018-01-11 23:38:35 +01:00
</member>
2022-08-13 12:36:59 +02:00
<member name= "follow_viewport_enabled" 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.
2019-04-15 14:49:41 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "follow_viewport_scale" type= "float" setter= "set_follow_viewport_scale" getter= "get_follow_viewport_scale" default= "1.0" >
2022-08-13 12:36:59 +02:00
Scales the layer when using [member follow_viewport_enabled]. Layers moving into the foreground should have increasing scales, while layers moving into the background should have decreasing scales.
2019-04-15 14:49:41 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "layer" type= "int" setter= "set_layer" getter= "get_layer" default= "1" >
2022-12-07 17:51:12 +01:00
Layer index for draw order. Lower values are drawn behind higher values.
2017-09-12 22:42:36 +02:00
</member>
2019-09-24 19:45:03 +02:00
<member name= "offset" type= "Vector2" setter= "set_offset" getter= "get_offset" default= "Vector2(0, 0)" >
2017-09-17 04:14:03 +02:00
The layer's base offset.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "rotation" type= "float" setter= "set_rotation" getter= "get_rotation" default= "0.0" >
2018-01-11 23:38:35 +01:00
The layer's rotation in radians.
</member>
2019-09-24 19:45:03 +02:00
<member name= "scale" type= "Vector2" setter= "set_scale" getter= "get_scale" default= "Vector2(1, 1)" >
2017-09-17 04:14:03 +02:00
The layer's scale.
2017-09-12 22:42:36 +02:00
</member>
2019-09-24 19:45:03 +02:00
<member name= "transform" type= "Transform2D" setter= "set_transform" getter= "get_transform" default= "Transform2D(1, 0, 0, 1, 0, 0)" >
2018-01-11 23:38:35 +01:00
The layer's transform.
</member>
2021-04-18 20:49:21 +02:00
<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>
2017-09-12 22:42:36 +02:00
</members>
2021-04-18 20:49:21 +02:00
<signals >
<signal name= "visibility_changed" >
<description >
Emitted when visibility of the layer is changed. See [member visible].
</description>
</signal>
</signals>
2017-09-12 22:42:36 +02:00
</class>