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, которые являются прямыми или косвенными потомками CanvasLayer, будут отрисованы в этом слое. Слой — это числовой индекс, который определяет порядок отрисовки. 2D-сцена по умолчанию визуализируется с индексом 0, поэтому CanvasLayer с индексом -1 будет отрисован ниже, а CanvasLayer с индексом 1 будет отрисован выше. Этот порядок будет сохраняться независимо от CanvasItem.z_index узлов в каждом слое.
CanvasLayer могут быть скрыты, и они также могут опционально следовать за областью просмотра. Это делает их полезными для HUD, таких как наложения полос здоровья (на слоях 1 и выше) или фонов (на слоях -1 и ниже).
Примечание: Встроенные Window размещаются на слое 1024. CanvasItem на слоях 1025 и выше отображаются поверх встроенных окон.
Примечание: Каждый CanvasLayer рисуется на одном определенном Viewport и не может совместно использоваться несколькими Viewport, см. custom_viewport. При использовании нескольких Viewport, например, в игре с разделенным экраном, вам необходимо создать отдельный CanvasLayer для каждого Viewport, на котором вы хотите его нарисовать.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
get_canvas() const |
|
get_final_transform() const |
|
void |
hide() |
void |
show() |
Сигналы
visibility_changed() 🔗
Выдается при изменении видимости слоя. См. visible.
Описания свойств
Пользовательский узел Viewport, назначенный CanvasLayer. Если null, вместо этого используется viewport по умолчанию.
bool follow_viewport_enabled = false 🔗
Если включено, CanvasLayer сохраняет свое положение в мировом пространстве. Если отключено, CanvasLayer остается в фиксированном положении на экране.
Вместе с follow_viewport_scale это можно использовать для псевдо-3D-эффекта.
float follow_viewport_scale = 1.0 🔗
Масштабирует слой при использовании follow_viewport_enabled. Слои, перемещающиеся на передний план, должны иметь увеличивающиеся масштабы, а слои, перемещающиеся на задний план, должны иметь уменьшающиеся масштабы.
Индекс слоя для порядка отрисовки. Меньшие значения рисуются позади больших значений.
Примечание: Если несколько CanvasLayers имеют одинаковый индекс слоя, то дочерние элементы CanvasItem одного CanvasLayer рисуются позади дочерних элементов CanvasItem другого CanvasLayer. Какой CanvasLayer рисуется впереди, не определено.
Примечание: Индекс слоя должен быть между RenderingServer.CANVAS_LAYER_MIN и RenderingServer.CANVAS_LAYER_MAX (включительно). Любое другое значение будет переноситься.
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, любой CanvasItem под этим CanvasLayer будет скрыт.
В отличие от CanvasItem.visible, видимость CanvasLayer не распространяется на нижележащие слои.
Описания метода
Возвращает RID холста, используемого этим слоем.
Transform2D get_final_transform() const 🔗
Возвращает преобразование из системы координат CanvasLayer-ов в систему координат Viewport-ов.
void hide() 🔗
Скрывает любой CanvasItem под этим CanvasLayer. Это эквивалентно установке visible на false.
void show() 🔗
Показывает любой CanvasItem под этим CanvasLayer. Это эквивалентно установке visible на true.