Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
CanvasLayer
被繼承: ParallaxBackground
用於 2D 場景中的物件的獨立算繪的節點。
說明
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.
教學
屬性
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
方法
get_canvas() const |
|
get_final_transform() const |
|
void |
hide() |
void |
show() |
訊號
visibility_changed() 🔗
當該層的可見性發生變化時觸發。請參閱 visible。
屬性說明
分配給該 CanvasLayer 的自訂 Viewport 節點。如果為 null,則使用預設的視口。
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 🔗
使用 follow_viewport_enabled 時縮放圖層。移入到前景的圖層應具有增加的縮放,而移入到背景的圖層應具有減小的縮放。
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) 🔗
圖層的基本偏移量。
圖層的旋轉弧度。
Vector2 scale = Vector2(1, 1) 🔗
圖層的縮放。
Transform2D transform = Transform2D(1, 0, 0, 1, 0, 0) 🔗
void set_transform(value: Transform2D)
Transform2D get_transform()
圖層的變換。
為 false 時,該 CanvasLayer 下的所有 CanvasItem 都會被隱藏。
與 CanvasItem.visible 不同,CanvasLayer 的顯示與否不會傳播到其內部的層。
方法說明
返回此層使用的畫布的 RID。
Transform2D get_final_transform() const 🔗
返回從 CanvasLayer 坐標系到 Viewport 坐標系的變換。
void hide() 🔗
隱藏該 CanvasLayer 下的所有 CanvasItem。相當於將 visible 設為 false。
void show() 🔗
顯示該 CanvasLayer 下的所有 CanvasItem。相當於將 visible 設為 true。