CanvasLayer
Узел, используемый для независимой визуализации объектов в 2D-сцене.
Узел, используемый для независимой визуализации объектов в 2D-сцене.
Узлы, производные от CanvasItem, которые являются прямыми или косвенными потомками CanvasLayer, будут отрисованы в этом слое. Слой — это числовой индекс, который определяет порядок отрисовки. 2D-сцена по умолчанию визуализируется с индексом 0, поэтому CanvasLayer с индексом -1 будет отрисован ниже, а CanvasLayer с индексом 1 будет отрисован выше. Этот порядок будет сохраняться независимо от CanvasItem.ZIndex узлов в каждом слое.
CanvasLayer могут быть скрыты, и они также могут опционально следовать за областью просмотра. Это делает их полезными для HUD, таких как наложения полос здоровья (на слоях 1 и выше) или фонов (на слоях -1 и ниже).
Примечание: Встроенные Window размещаются на слое 1024. CanvasItem на слоях 1025 и выше отображаются поверх встроенных окон.
Примечание: Каждый CanvasLayer рисуется на одном определенном Viewport и не может совместно использоваться несколькими Viewport, см. CanvasLayer.CustomViewport. При использовании нескольких Viewport, например, в игре с разделенным экраном, вам необходимо создать отдельный CanvasLayer для каждого Viewport, на котором вы хотите его нарисовать.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
CanvasLayerКонструктор
public CanvasLayer();Свойства9
CustomViewportСвойство
public Entity CustomViewport { get; set; }Пользовательский узел Viewport, назначенный CanvasLayer. Если null, вместо этого используется viewport по умолчанию.
FollowViewportEnabledСвойство
public bool FollowViewportEnabled { get; set; }Если включено, CanvasLayer сохраняет свое положение в мировом пространстве. Если отключено, CanvasLayer остается в фиксированном положении на экране.
Вместе с CanvasLayer.FollowViewportScale это можно использовать для псевдо-3D-эффекта.
FollowViewportScaleСвойство
public float FollowViewportScale { get; set; }Масштабирует слой при использовании CanvasLayer.FollowViewportEnabled. Слои, перемещающиеся на передний план, должны иметь увеличивающиеся масштабы, а слои, перемещающиеся на задний план, должны иметь уменьшающиеся масштабы.
LayerСвойство
public int Layer { get; set; }Индекс слоя для порядка отрисовки. Меньшие значения рисуются позади больших значений.
Примечание: Если несколько CanvasLayers имеют одинаковый индекс слоя, то дочерние элементы CanvasItem одного CanvasLayer рисуются позади дочерних элементов CanvasItem другого CanvasLayer. Какой CanvasLayer рисуется впереди, не определено.
Примечание: Индекс слоя должен быть между RenderingServer.CanvasLayerMin и RenderingServer.CanvasLayerMax (включительно). Любое другое значение будет переноситься.
OffsetСвойство
public Vector2 Offset { get; set; }Смещение базы слоя.
RotationСвойство
public float Rotation { get; set; }Вращение слоя в радианах.
ScaleСвойство
public Vector2 Scale { get; set; }Масштаб слоя.
TransformСвойство
public Transform2D Transform { get; set; }Трансформация слоя.
VisibleСвойство
public bool Visible { get; set; }Если false, любой CanvasItem под этим CanvasLayer будет скрыт.
В отличие от CanvasItem.Visible, видимость CanvasLayer не распространяется на нижележащие слои.
Методы22
GetCanvasRid
public Rid GetCanvas();Возвращает RID холста, используемого этим слоем.
RidGetCustomViewportEntity
public Entity GetCustomViewport();EntityGetFinalTransformTransform2D
public Transform2D GetFinalTransform();Возвращает трансформацию из CanvasLayer:: система координат Viewport- система координат.
Спрячься.
Transform2DGetFollowViewportScalefloat
public float GetFollowViewportScale();floatGetLayerint
public int GetLayer();intGetOffsetVector2
public Vector2 GetOffset();Vector2GetRotationfloat
public float GetRotation();floatGetScaleVector2
public Vector2 GetScale();Vector2GetTransformTransform2D
public Transform2D GetTransform();Transform2DHidevoid
public void Hide();Скрывает любой CanvasItem под этим CanvasLayer. Это эквивалентно установке CanvasLayer.Visible на false.
IsFollowingViewportbool
public bool IsFollowingViewport();boolIsVisiblebool
public bool IsVisible();boolSetCustomViewportvoid
public void SetCustomViewport(Entity viewport);| Имя | Тип | По умолчанию |
|---|---|---|
viewport | Entity | — |
SetFollowViewportvoid
public void SetFollowViewport(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetFollowViewportScalevoid
public void SetFollowViewportScale(float scale);| Имя | Тип | По умолчанию |
|---|---|---|
scale | float | — |
SetLayervoid
public void SetLayer(int layer);| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
SetOffsetvoid
public void SetOffset(Vector2 offset);| Имя | Тип | По умолчанию |
|---|---|---|
offset | Vector2 | — |
SetRotationvoid
public void SetRotation(float radians);| Имя | Тип | По умолчанию |
|---|---|---|
radians | float | — |
SetScalevoid
public void SetScale(Vector2 scale);| Имя | Тип | По умолчанию |
|---|---|---|
scale | Vector2 | — |
SetTransformvoid
public void SetTransform(Transform2D transform);| Имя | Тип | По умолчанию |
|---|---|---|
transform | Transform2D | — |
SetVisiblevoid
public void SetVisible(bool visible);| Имя | Тип | По умолчанию |
|---|---|---|
visible | bool | — |
Showvoid
public void Show();Показывает любой CanvasItem под этим CanvasLayer. Это эквивалентно установке CanvasLayer.Visible на true.
Сигналы и события1
VisibilityChangedСобытие
public event Action VisibilityChanged;Выдается при изменении видимости слоя. См. CanvasLayer.Visible.