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.

CanvasLayer

Успадковує: Node < Object

Успадковано від: 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, на якому ви хочете його малювати.

Посібники

Властивості

Node

custom_viewport

bool

follow_viewport_enabled

false

float

follow_viewport_scale

1.0

int

layer

1

Vector2

offset

Vector2(0, 0)

float

rotation

0.0

Vector2

scale

Vector2(1, 1)

Transform2D

transform

Transform2D(1, 0, 0, 1, 0, 0)

bool

visible

true

Методи

RID

get_canvas() const

Transform2D

get_final_transform() const

void

hide()

void

show()


Сигнали

visibility_changed() 🔗

Активується при зміні видимості шару. Дивіться visible.


Описи властивостей

Node custom_viewport 🔗

  • void set_custom_viewport(value: Node)

  • Node get_custom_viewport()

Спеціальний вузол Viewport, призначений для CanvasLayer. Якщо null, натомість використовується вікно перегляду за замовчуванням.


bool follow_viewport_enabled = false 🔗

  • void set_follow_viewport(value: bool)

  • bool is_following_viewport()

Якщо ввімкнено, CanvasLayer зберігає свою позицію у світовому просторі. Якщо вимкнено, CanvasLayer залишається у фіксованому положенні на екрані.

Разом з follow_viewport_scale це можна використовувати для псевдо-3D-ефекту.


float follow_viewport_scale = 1.0 🔗

  • void set_follow_viewport_scale(value: float)

  • float get_follow_viewport_scale()

Масштабує шар під час використання follow_viewport_enabled. Шари, що переміщуються на передній план, повинні мати масштаби, що збільшуються, тоді як шари, що переміщуються на задній план, мають зменшуватися.


int layer = 1 🔗

  • void set_layer(value: int)

  • int get_layer()

Індекс шару для порядку малювання. Нижчі значення малюються за вищими значеннями.

Примітка: Якщо кілька CanvasLayers мають однаковий індекс шару, дочірні елементи CanvasItem одного CanvasLayer малюються за дочірніми елементами CanvasItem іншого CanvasLayer. Який CanvasLayer малюється попереду, не є детермінованим.

Примітка: Індекс шару повинен бути в діапазоні від RenderingServer.CANVAS_LAYER_MIN до RenderingServer.CANVAS_LAYER_MAX (включно). Будь-яке інше значення буде перенесено навколо.


Vector2 offset = Vector2(0, 0) 🔗

  • void set_offset(value: Vector2)

  • Vector2 get_offset()

Зсув основи шару.


float rotation = 0.0 🔗

  • void set_rotation(value: float)

  • float get_rotation()

Обертання шару в радіанах.


Vector2 scale = Vector2(1, 1) 🔗

  • void set_scale(value: Vector2)

  • Vector2 get_scale()

Масштаб шару.


Transform2D transform = Transform2D(1, 0, 0, 1, 0, 0) 🔗

  • void set_transform(value: Transform2D)

  • Transform2D get_transform()

Перетворення шару.


bool visible = true 🔗

  • void set_visible(value: bool)

  • bool is_visible()

Якщо false, будь-який CanvasItem у цьому CanvasLayer буде приховано.

На відміну від CanvasItem.visible, видимість CanvasLayer не поширюється на базові шари.


Описи методів

RID get_canvas() const 🔗

Повертає RID полотна, яке використовується цим шаром.


Transform2D get_final_transform() const 🔗

Повертає перетворення з системи координат CanvasLayer у систему координат Viewport.


void hide() 🔗

Приховує будь-який CanvasItem під цим CanvasLayer. Це еквівалентно встановленню visible значення false.


void show() 🔗

Показує будь-який CanvasItem під цим CanvasLayer. Це еквівалентно встановленню visible значення true.