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.