CanvasItem
Абстрактный базовый класс для всего, что находится в двумерном пространстве.
Абстрактный базовый класс для всего, что находится в двумерном пространстве.
Абстрактный базовый класс для всего в 2D-пространстве. Элементы холста располагаются в дереве; дочерние элементы наследуют и расширяют преобразование своего родителя. CanvasItem расширяется Control для узлов, связанных с GUI, и Entity2D для 2D-игровых объектов.
Любой CanvasItem может рисовать. Для этого движок вызывает CanvasItem.QueueRedraw, затем во время простоя будет получена CanvasItem.NotificationDraw для запроса перерисовки. Благодаря этому элементы холста не нужно перерисовывать в каждом кадре, что значительно повышает производительность. Предоставляется несколько функций для рисования на CanvasItem (см. функции draw_*). Однако их можно использовать только внутри CanvasItem.Draw, соответствующего ему ReckfellObject.Notification или методов, связанных с сигналом CanvasItem.Draw.
Элементы холста рисуются в древовидном порядке на своем слое холста. По умолчанию дочерние элементы находятся поверх своих родителей, поэтому корневой CanvasItem будет отрисован позади всего. Это поведение можно изменить для каждого элемента.
CanvasItem может быть скрыт, что также скроет его дочерние элементы. Изменяя различные другие свойства CanvasItem, вы также можете модулировать его цвет (через CanvasItem.Modulate или CanvasItem.SelfModulate), изменять его Z-индекс, режим смешивания и многое другое.
Обратите внимание, что такие свойства, как преобразование, модуляция и видимость, распространяются только на direct дочерние узлы CanvasItem. Если между ними есть узел, не являющийся CanvasItem, например Entity или AnimationPlayer, то узлы CanvasItem ниже будут иметь независимую позицию и цепочку CanvasItem.Modulate. См. также CanvasItem.TopLevel.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Свойства16
ClipChildrenСвойство
public CanvasItem.ClipChildrenMode ClipChildren { get; set; }Режим, в котором этот узел обрезает свои дочерние элементы, действуя как маска.
Примечание: Узлы обрезания не могут быть вложенными или помещены в CanvasGroup. Если предок этого узла обрезает свои дочерние элементы или является CanvasGroup, то режим обрезания этого узла должен быть установлен на CanvasItem.ClipChildrenMode.Disabled, чтобы избежать непредвиденного поведения.
LightMaskСвойство
public int LightMask { get; set; }Слои рендеринга, в которых этот CanvasItem реагирует на узлы Light2D.
MaterialСвойство
public Material Material { get; set; }Собственный материал 2D-элемента: CanvasItemMaterial или ShaderMaterial с canvas_item-программой. UseParentMaterial=true выбирает родительский материал вместо этого ресурса. Несколько элементов с одним ShaderMaterial делят его обычные uniform.
ModulateСвойство
public Color Modulate { get; set; }Цветовой множитель элемента и наследующих CanvasItem-потомков. В собственном shader учитывайте modulation: пример сохраняет COLOR из vertex() в varying и умножает на отдельно выбранную текстуру. Без этого присваивание COLOR в fragment() может потерять нужное умножение.
OversamplingWithScaleСвойство
public CanvasItem.OversamplingWithScaleEnum OversamplingWithScale { get; set; }При наличии возможности, переборка для этого CanvasItem автоматически корректируется по шкале. Это делает шрифты и DpiTexture Изображения автоматически переизменяются, чтобы соответствовать фактической шкале, которую они нарисованы для хрустального визуализации. Это оказывает влияние на процессор каждый раз, когда шкала узла изменяется, поэтому он отключается по умолчанию.
Примечание: Для Control узлы с Control.OffsetTransformEnabled установлен в true, чрезмерное выборка на основе шкалы является эффективной только в том случае, если Control.OffsetTransformVisualOnly это false. Это обеспечивает отсутствие накладных расходов при использовании только визуальных перестановок (как часто используется в анимациях).
SelfModulateСвойство
public Color SelfModulate { get; set; }Цвет, примененный к этому CanvasItem. Это свойство не влияет на дочерние CanvasItem, в отличие от CanvasItem.Modulate, которое влияет как на сам узел, так и на его дочерние элементы.
Примечание: Внутренние дочерние элементы также не затрагиваются этим свойством (см. параметр include_internal в Entity.AddChild). Для встроенных узлов это включает ползунки в ColorPicker и панель вкладок в TabContainer.
ShowBehindParentСвойство
public bool ShowBehindParent { get; set; }Если true, этот узел отрисовывается позади своего родителя.
TextureFilterСвойство
public CanvasItem.TextureFilterEnum TextureFilter { get; set; }Политика фильтрации текстур этого элемента. ParentNode наследует настройку; LinearWithMipmaps использует mipmaps при их наличии. В примере ImageTexture подготовлена с mipmaps для уменьшенных изображений. Это не включение MSAA и не генерация mipmaps самим свойством.
TextureRepeatСвойство
public CanvasItem.TextureRepeatEnum TextureRepeat { get; set; }Режим повторения, используемый для отрисовки текстур этого CanvasItem. Он влияет на то, что происходит при выборке текстуры за пределами её границ, например, путём установки Sprite2D.RegionRect большего размера, чем текстура, или назначения UV-точек Polygon2D за пределами текстуры.
Примечание: TextureRect не подвержен влиянию CanvasItem.TextureRepeat, поскольку использует собственную реализацию повторения текстуры.
TopLevelСвойство
public bool TopLevel { get; set; }Отключает наследование преобразования родительского CanvasItem. Не удаляет элемент из дерева, не переносит его в другой viewport и не отключает преобразование его canvas камерой или CanvasLayer.
UseParentMaterialСвойство
public bool UseParentMaterial { get; set; }Если true, при рисовании используется родительский материал вместо собственного Material. Назначенный собственный ресурс остаётся доступен через getter. В проверке родительский tint перекрыл детский grayscale; false вернул детский shader.
VisibilityLayerСвойство
public uint VisibilityLayer { get; set; }Слой отображения, в котором это CanvasItem переводит Viewport Узлы. Viewport , объявляет CanvasItem если он и все его родители делят слой с ViewportДля того, чтобы легче изменить значение скрипта, смотрите CanvasItem.SetVisibilityLayerBit.
Примечание: A CanvasItem Это означает, что если родитель CanvasItem не имеет всех тех же слоев, что и ребенок, ребенок может быть не виден, даже если и родитель, и ребенок имеют CanvasItem.Visible установлен в true. Например, если родитель имеет первый слой и ребенок - второй слой, то ребенок не будет виден в одной из систем Viewport с помощью маски холст-кулла, установленной на уровне 1 или 2 (см. Viewport.CanvasCullMask) Для обеспечения видимости как родителя, так и ребенка родитель должен иметь оба уровня 1 и 2, либо ребенок должен иметь CanvasItem.TopLevel установлен в true.
VisibleСвойство
public bool Visible { get; set; }Если true, это CanvasItem Может быть нарисовано. CanvasItem на самом деле нарисовано зависит от видимости всего CanvasItem Другими словами: CanvasItem будет произведен, когда CanvasItem.IsVisibleInTree возврат true И все CanvasItem У предков есть по крайней мере один CanvasItem.VisibilityLayer с этим CanvasItem.
Примечание: Для контроля, наследуемого Popup, правильный способ сделать их видимыми это позвонить одному из нескольких popup*() Вместо этого функции.
YSortEnabledСвойство
public bool YSortEnabled { get; set; }Если true, это и ребенок CanvasItem Узлы с более высоким положением Y передаются перед узлами с более низким положением Y. false, это и ребенок CanvasItem Узлы обычно передаются в порядке сцены на дереве.
С помощью Y-сортирования на родительском узле ('A', но отключён на детском узле ('B'), детский узел ('B') сортируется, но его дети ('C1', 'C2' и т.д.) превращаются вместе на Y положение, как и детский узел ('B'). Это позволяет вам организовать порядок сцены без изменения дерева сцены.
Участки сортируются по отношению друг к другу, только если они на одном и том же. CanvasItem.ZIndex.
Примечание: У-сортирование имеет Нет влияет на порядок, в котором CanvasItem Это особенно важно иметь в виду для Control узлы.
ZAsRelativeСвойство
public bool ZAsRelative { get; set; }Если true, конечный Z-индекс этого узла относится к Z-индексу его родителя.
Например, если CanvasItem.ZIndex равен 2, а конечный Z-индекс его родителя равен 3, то конечный Z-индекс этого узла будет равен 5 (2 + 3).
ZIndexСвойство
public int ZIndex { get; set; }Последовательность, в которой этот узел нарисован. Узел с более высоким индексом Z будет показываться перед другими. Должно быть между RenderingServer.CanvasItemZMin и RenderingServer.CanvasItemZMax (включено).
Примечание: Индекс Z Нет влияет на порядок, в котором CanvasItem Это особенно важно иметь в виду для Control узлы.
Методы114
DrawAnimationSlicevoid
public void DrawAnimationSlice(double animationLength, double sliceBegin, double sliceEnd, double offset = 0d);Последующие команды рисования будут игнорироваться, если они не попадают в указанный фрагмент анимации. Это более быстрый способ реализовать анимацию, которая зацикливается на фоне, а не перерисовывается постоянно.
| Имя | Тип | По умолчанию |
|---|---|---|
animationLength | double | — |
sliceBegin | double | — |
sliceEnd | double | — |
offset | double | 0d |
DrawArcvoid
public void DrawArc(Vector2 center, float radius, float startAngle, float endAngle, int pointCount, Color color, float width = -1f, bool antialiased = false);Нарисует ненагруженную дугу между указанными углами с помощью однородной формы color и width и факультативная антиализация (поддерживаемая только для width) Чем больше значение point_countЧем гладче кривая. center в локальном пространстве. В случае эллиптических дуг см. CanvasItem.DrawEllipseArcСм. также CanvasItem.DrawCircle.
Если width отрицательный, он будет проигнорирован, и дуга будет вытянута с помощью RenderingServer.PrimitiveType.LineStrip. Это означает, что CanvasItem дуга будет оставаться тонкой. width Типа 1.0.
Арка получается из start_angle в сторону величины end_angle в направлении по часовой стрелке, если start_angle < end_angle Проходя по тем же углам, но в обратном порядке, образует одну и ту же дугу. start_angle и end_angle больше @C#.TAU Радианы, затем нарисована полная круговая дуга (т.е. дуга сама по себе не будет пересекаться).
| Имя | Тип | По умолчанию |
|---|---|---|
center | Vector2 | — |
radius | float | — |
startAngle | float | — |
endAngle | float | — |
pointCount | int | — |
color | Color | — |
width | float | -1f |
antialiased | bool | false |
DrawChar2 перегрузки
public void DrawChar(Font font, Vector2 pos, string @char, int fontSize, Color? modulate);Рисует первый символ строки, используя пользовательский шрифт. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра. pos определяется в локальном пространстве.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Font | — |
pos | Vector2 | — |
char | string | — |
fontSize | int | — |
modulate | Color? | — |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
public void DrawChar(Font font, Vector2 pos, string @char, int fontSize = 16, Color? modulate = default, float oversampling = 0f);Рисует первый символ строки, используя пользовательский шрифт. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра. pos определяется в локальном пространстве.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Font | — |
pos | Vector2 | — |
char | string | — |
fontSize | int | 16 |
modulate | Color? | default |
oversampling | float | 0f |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
DrawCharOutline2 перегрузки
public void DrawCharOutline(Font font, Vector2 pos, string @char, int fontSize, int size, Color? modulate);Рисует контур первого символа строки, используя заданный шрифт. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра. pos определяется в локальном пространстве.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Font | — |
pos | Vector2 | — |
char | string | — |
fontSize | int | — |
size | int | — |
modulate | Color? | — |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
public void DrawCharOutline(Font font, Vector2 pos, string @char, int fontSize = 16, int size = -1, Color? modulate = default, float oversampling = 0f);Рисует контур первого символа строки, используя заданный шрифт. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра. pos определяется в локальном пространстве.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Font | — |
pos | Vector2 | — |
char | string | — |
fontSize | int | 16 |
size | int | -1 |
modulate | Color? | default |
oversampling | float | 0f |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
DrawCircle2 перегрузки
public void DrawCircle(Vector2 position, float radius, Color color);Рисует круг с position определение в местном пространстве. CanvasItem.DrawEllipse, CanvasItem.DrawArc, CanvasItem.DrawPolyline, и CanvasItem.DrawPolygon.
Если filled это true, круг будет заполнен color Если: filled это false, окружность будет нарисована в качестве хода с color и width конкретно указано.
Если width отрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если это поведение не является желательным, то пройдите позитивную width Типа 1.0.
Если antialiased это true, наполовину прозрачные "фазеры" будут прикрепляться к границе, делая гладкие контуры.
Примечание: width является эффективным только в том случае, если filled это false.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
radius | float | — |
color | Color | — |
public void DrawCircle(Vector2 position, float radius, Color color, bool filled = true, float width = -1f, bool antialiased = false);Рисует круг с position определение в местном пространстве. CanvasItem.DrawEllipse, CanvasItem.DrawArc, CanvasItem.DrawPolyline, и CanvasItem.DrawPolygon.
Если filled это true, круг будет заполнен color Если: filled это false, окружность будет нарисована в качестве хода с color и width конкретно указано.
Если width отрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если это поведение не является желательным, то пройдите позитивную width Типа 1.0.
Если antialiased это true, наполовину прозрачные "фазеры" будут прикрепляться к границе, делая гладкие контуры.
Примечание: width является эффективным только в том случае, если filled это false.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
radius | float | — |
color | Color | — |
filled | bool | true |
width | float | -1f |
antialiased | bool | false |
DrawColoredPolygon2 перегрузки
public void DrawColoredPolygon(Vector2[] points, Color color, Vector2[] uvs = null, Texture2D texture = null);Рисует цветный многоугольник из любого числа точек, выпуклых или конкавированных. points в отличие от местного пространства. CanvasItem.DrawPolygon, для всего многоугольника должен быть указан один цвет.
Примечание: Если вы часто переделаете один и тот же многоугольник с большим количеством вершин, подумайте о предварительной вычислении триангуляции. Geometry2D.TriangulatePolygon и использования CanvasItem.DrawMesh, CanvasItem.DrawMultimeshили RenderingServer.CanvasItemAddTriangleArray.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
points | Vector2[] | — |
color | Color | — |
uvs | Vector2[] | null |
texture | Texture2D | null |
uvsЕсли параметр не имеет значения, то значение по умолчанию: Array.Empty<Vector2>().
public void DrawColoredPolygon(ReadOnlySpan<Vector2> points, Color color, ReadOnlySpan<Vector2> uvs, Texture2D texture);Рисует цветный многоугольник из любого числа точек, выпуклых или конкавированных. points в отличие от местного пространства. CanvasItem.DrawPolygon, для всего многоугольника должен быть указан один цвет.
Примечание: Если вы часто переделаете один и тот же многоугольник с большим количеством вершин, подумайте о предварительной вычислении триангуляции. Geometry2D.TriangulatePolygon и использования CanvasItem.DrawMesh, CanvasItem.DrawMultimeshили RenderingServer.CanvasItemAddTriangleArray.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
points | ReadOnlySpan<Vector2> | — |
color | Color | — |
uvs | ReadOnlySpan<Vector2> | — |
texture | Texture2D | — |
DrawDashedLine2 перегрузки
public void DrawDashedLine(Vector2 from, Vector2 to, Color color, float width, float dash, bool aligned);Перерисовывает тиреную линию из 2D точки в другую с определенным цветом и шириной. from и to Кроме того, в этом месте определены места расположения. CanvasItem.DrawLine, CanvasItem.DrawMultiline, и CanvasItem.DrawPolyline.
Если width отрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если такое поведение не является желательным, то пройдите позитивную width Типа 1.0.
dash - длина каждого тире в пикселях, причем расстояние между каждым тиром должно быть одинаковым. aligned это true, длина первого и последнего тире может быть сокращена или длинен, с тем чтобы линия могла начинаться и заканчиваться в точных точках, определяемых from и to. Оба конца всегда симметричны, когда aligned это true. Если aligned это false, все тире будут иметь одинаковую длину, но линия может показаться неполной в конце из-за длины тире, не разделенной равномерно на длину линии. aligned это false.
Если antialiased это true, наполовину прозрачные "фазеры" будут прикрепляться к границе, делая гладкие контуры.
Примечание: antialiased является эффективным только в том случае, если width больше 0.0.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector2 | — |
to | Vector2 | — |
color | Color | — |
width | float | — |
dash | float | — |
aligned | bool | — |
public void DrawDashedLine(Vector2 from, Vector2 to, Color color, float width = -1f, float dash = 2f, bool aligned = true, bool antialiased = false);Перерисовывает тиреную линию из 2D точки в другую с определенным цветом и шириной. from и to Кроме того, в этом месте определены места расположения. CanvasItem.DrawLine, CanvasItem.DrawMultiline, и CanvasItem.DrawPolyline.
Если width отрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если такое поведение не является желательным, то пройдите позитивную width Типа 1.0.
dash - длина каждого тире в пикселях, причем расстояние между каждым тиром должно быть одинаковым. aligned это true, длина первого и последнего тире может быть сокращена или длинен, с тем чтобы линия могла начинаться и заканчиваться в точных точках, определяемых from и to. Оба конца всегда симметричны, когда aligned это true. Если aligned это false, все тире будут иметь одинаковую длину, но линия может показаться неполной в конце из-за длины тире, не разделенной равномерно на длину линии. aligned это false.
Если antialiased это true, наполовину прозрачные "фазеры" будут прикрепляться к границе, делая гладкие контуры.
Примечание: antialiased является эффективным только в том случае, если width больше 0.0.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector2 | — |
to | Vector2 | — |
color | Color | — |
width | float | -1f |
dash | float | 2f |
aligned | bool | true |
antialiased | bool | false |
DrawEllipsevoid
public void DrawEllipse(Vector2 position, float major, float minor, Color color, bool filled = true, float width = -1f, bool antialiased = false);Рисует эллипс с большой полуосью major и малой полуосью minor. См. также CanvasItem.DrawCircle, CanvasItem.DrawEllipseArc, CanvasItem.DrawPolyline и CanvasItem.DrawPolygon.
Если filled равно true, эллипс будет залит указанным color. Если filled равно false, эллипс будет нарисован в виде обводки с указанными color и width значениями.
Если width отрицательное значение, будут нарисованы двухточечные примитивы вместо четырехточечных. Это означает, что при масштабировании CanvasItem линии останутся тонкими. Если такое поведение нежелательно, передайте положительное значение width, например 1.0.
Если antialiased равно true, к границе будут прикреплены полупрозрачные «перья», сглаживающие контуры.
Примечание: width действует только в том случае, если filled равно false.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
major | float | — |
minor | float | — |
color | Color | — |
filled | bool | true |
width | float | -1f |
antialiased | bool | false |
DrawEllipseArcvoid
public void DrawEllipseArc(Vector2 center, float major, float minor, float startAngle, float endAngle, int pointCount, Color color, float width = -1f, bool antialiased = false);Нарисует ненагруженную эллиптичную дугу между указанными углами с однородной формой color и width и факультативная антиализация (поддерживаемая только для width) Чем больше значение point_countДля круговых дуг см. CanvasItem.DrawArcСм. также CanvasItem.DrawEllipse.
Если width отрицательный, он будет проигнорирован, и дуга будет вытянута с помощью RenderingServer.PrimitiveType.LineStrip. Это означает, что CanvasItem дуга будет оставаться тонкой. width Типа 1.0.
Арка получается из start_angle в сторону величины end_angle в направлении по часовой стрелке, если start_angle < end_angle Проходя по тем же углам, но в обратном порядке, образует одну и ту же дугу. start_angle и end_angle больше @C#.TAU Радианы, затем нарисована полная эллипса (т.е. дуга не будет перекрывать себя).
| Имя | Тип | По умолчанию |
|---|---|---|
center | Vector2 | — |
major | float | — |
minor | float | — |
startAngle | float | — |
endAngle | float | — |
pointCount | int | — |
color | Color | — |
width | float | -1f |
antialiased | bool | false |
DrawEndAnimationvoid
public void DrawEndAnimation();После отправки всех фрагментов анимации через CanvasItem.DrawAnimationSlice эта функция может быть использована для возврата рисования в состояние по умолчанию (все последующие команды рисования будут видны). Если вас не интересует этот конкретный вариант использования, использование этой функции после отправки фрагментов не требуется.
DrawLcdTextureRectRegionvoid
public void DrawLcdTextureRectRegion(Texture2D texture, Rect2 rect, Rect2 srcRect, Color? modulate = default);Рисует текстурированную область прямоугольника шрифтовой текстуры с подпикселем LCD, противолежащим в данном положении, факультативно модифицируемым цветом. rect определяется в местном пространстве.
Texture производится с использованием следующего режима смешивания: CanvasItemMaterial игнорируется:
dst.r = texture.r * modulate.r * modulate.a + dst.r * (1.0 - texture.r * modulate.a);
dst.g = texture.g * modulate.g * modulate.a + dst.g * (1.0 - texture.g * modulate.a);
dst.b = texture.b * modulate.b * modulate.a + dst.b * (1.0 - texture.b * modulate.a);
dst.a = modulate.a + dst.a * (1.0 - modulate.a);Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
texture | Texture2D | — |
rect | Rect2 | — |
srcRect | Rect2 | — |
modulate | Color? | default |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
DrawLinevoid
public void DrawLine(Vector2 from, Vector2 to, Color color, float width = -1f, bool antialiased = false);Рисует линию от одной 2D точки к другой заданного цвета и ширины. При необходимости можно использовать сглаживание. Позиции from и to определяются в локальном пространстве. См. также CanvasItem.DrawDashedLine, CanvasItem.DrawMultiline и CanvasItem.DrawPolyline.
Если width отрицательный, то будет нарисован двухточечный примитив вместо четырёхточечного. Это означает, что при масштабировании CanvasItem линия останется тонкой. Если такое поведение нежелательно, передайте положительное значение width, например, 1.0.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector2 | — |
to | Vector2 | — |
color | Color | — |
width | float | -1f |
antialiased | bool | false |
DrawMeshvoid
public void DrawMesh(Mesh mesh, Texture2D texture, Transform2D? transform = default, Color? modulate = default);Рисует a Mesh в 2D с использованием предусмотренной текстуры. MeshInstance2D для соответствующей документации. transform определяется в местном пространстве.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
mesh | Mesh | — |
texture | Texture2D | — |
transform | Transform2D? | default |
modulate | Color? | default |
transformЕсли параметр не имеет значения, то значение по умолчанию: Transform2D.Identity.
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
DrawMsdfTextureRectRegionvoid
public void DrawMsdfTextureRectRegion(Texture2D texture, Rect2 rect, Rect2 srcRect, Color? modulate = default, double outline = 0d, double pixelRange = 4d, double scale = 1d);Нарисует текстурированную область прямоугольника многоканальной сигнатуры дистанционного поля в данном положении, факультативно модуляемой цветом. rect определение в местном пространстве. См. FontFile.MultichannelSignedDistanceField для получения дополнительной информации и оговорок в отношении перевода шрифта MSDF.
Если outline - положительный, каждое значение альфа-канала пикселя в области устанавливается на максимальное значение реального расстояния в outline радиус.
Стоимость pixel_range следует использовать то же самое, что и в процессе формирования текстуры на расстоянии.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
texture | Texture2D | — |
rect | Rect2 | — |
srcRect | Rect2 | — |
modulate | Color? | default |
outline | double | 0d |
pixelRange | double | 4d |
scale | double | 1d |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
DrawMultiline4 перегрузки
public void DrawMultiline(Vector2[] points, Color color, float width);Рисует несколько отсоединенных линий с однородной формой width и color. Каждая линия определяется двумя последовательными точками: points i-й сегмент состоит из: points[CanvasItem.DrawLine](/ru/docs/api/canvasitem#member-drawline-6049f7c36b) Чтобы нарисовать взаимосвязанные линии, используйте [CanvasItem.DrawPolyline](/ru/docs/api/canvasitem#member-drawpolyline-a13ae2e4ee) вместо этого. Если widthотрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если это поведение не является желательным, то пройдите позитивнуюwidthТипа1.0. **Примечание:** antialiasedявляется эффективным только в том случае, еслиwidthбольше0.0`.
| Имя | Тип | По умолчанию |
|---|---|---|
points | Vector2[] | — |
color | Color | — |
width | float | — |
public void DrawMultiline(Vector2[] points, Color color, float width = -1f, bool antialiased = false);Рисует несколько отсоединенных линий с однородной формой width и color. Каждая линия определяется двумя последовательными точками: points i-й сегмент состоит из: points[CanvasItem.DrawLine](/ru/docs/api/canvasitem#member-drawline-6049f7c36b) Чтобы нарисовать взаимосвязанные линии, используйте [CanvasItem.DrawPolyline](/ru/docs/api/canvasitem#member-drawpolyline-a13ae2e4ee) вместо этого. Если widthотрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если это поведение не является желательным, то пройдите позитивнуюwidthТипа1.0. **Примечание:** antialiasedявляется эффективным только в том случае, еслиwidthбольше0.0`.
| Имя | Тип | По умолчанию |
|---|---|---|
points | Vector2[] | — |
color | Color | — |
width | float | -1f |
antialiased | bool | false |
public void DrawMultiline(ReadOnlySpan<Vector2> points, Color color, float width);Рисует несколько отсоединенных линий с однородной формой width и color. Каждая линия определяется двумя последовательными точками: points i-й сегмент состоит из: points[CanvasItem.DrawLine](/ru/docs/api/canvasitem#member-drawline-6049f7c36b) Чтобы нарисовать взаимосвязанные линии, используйте [CanvasItem.DrawPolyline](/ru/docs/api/canvasitem#member-drawpolyline-a13ae2e4ee) вместо этого. Если widthотрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если это поведение не является желательным, то пройдите позитивнуюwidthТипа1.0. **Примечание:** antialiasedявляется эффективным только в том случае, еслиwidthбольше0.0`.
| Имя | Тип | По умолчанию |
|---|---|---|
points | ReadOnlySpan<Vector2> | — |
color | Color | — |
width | float | — |
public void DrawMultiline(ReadOnlySpan<Vector2> points, Color color, float width, bool antialiased);Рисует несколько отсоединенных линий с однородной формой width и color. Каждая линия определяется двумя последовательными точками: points i-й сегмент состоит из: points[CanvasItem.DrawLine](/ru/docs/api/canvasitem#member-drawline-6049f7c36b) Чтобы нарисовать взаимосвязанные линии, используйте [CanvasItem.DrawPolyline](/ru/docs/api/canvasitem#member-drawpolyline-a13ae2e4ee) вместо этого. Если widthотрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если это поведение не является желательным, то пройдите позитивнуюwidthТипа1.0. **Примечание:** antialiasedявляется эффективным только в том случае, еслиwidthбольше0.0`.
| Имя | Тип | По умолчанию |
|---|---|---|
points | ReadOnlySpan<Vector2> | — |
color | Color | — |
width | float | — |
antialiased | bool | — |
DrawMultilineColors4 перегрузки
public void DrawMultilineColors(Vector2[] points, Color[] colors, float width);Рисует несколько отсоединенных линий с однородной формой width Каждый сегмент определяется двумя последовательными точками от каждого сегмента. points в местном пространстве и соответствующий цвет от colors i-й сегмент состоит из points[CanvasItem.DrawLine](/ru/docs/api/canvasitem#member-drawline-6049f7c36b) Чтобы нарисовать взаимосвязанные линии, используйте [CanvasItem.DrawPolylineColors](/ru/docs/api/canvasitem#member-drawpolylinecolors-4e239fff36) вместо этого. Если widthотрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если это поведение не является желательным, то пройдите позитивнуюwidthТипа1.0. **Примечание:** antialiasedявляется эффективным только в том случае, еслиwidthбольше0.0`.
| Имя | Тип | По умолчанию |
|---|---|---|
points | Vector2[] | — |
colors | Color[] | — |
width | float | — |
public void DrawMultilineColors(Vector2[] points, Color[] colors, float width = -1f, bool antialiased = false);Рисует несколько отсоединенных линий с однородной формой width Каждый сегмент определяется двумя последовательными точками от каждого сегмента. points в местном пространстве и соответствующий цвет от colors i-й сегмент состоит из points[CanvasItem.DrawLine](/ru/docs/api/canvasitem#member-drawline-6049f7c36b) Чтобы нарисовать взаимосвязанные линии, используйте [CanvasItem.DrawPolylineColors](/ru/docs/api/canvasitem#member-drawpolylinecolors-4e239fff36) вместо этого. Если widthотрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если это поведение не является желательным, то пройдите позитивнуюwidthТипа1.0. **Примечание:** antialiasedявляется эффективным только в том случае, еслиwidthбольше0.0`.
| Имя | Тип | По умолчанию |
|---|---|---|
points | Vector2[] | — |
colors | Color[] | — |
width | float | -1f |
antialiased | bool | false |
public void DrawMultilineColors(ReadOnlySpan<Vector2> points, ReadOnlySpan<Color> colors, float width);Рисует несколько отсоединенных линий с однородной формой width Каждый сегмент определяется двумя последовательными точками от каждого сегмента. points в местном пространстве и соответствующий цвет от colors i-й сегмент состоит из points[CanvasItem.DrawLine](/ru/docs/api/canvasitem#member-drawline-6049f7c36b) Чтобы нарисовать взаимосвязанные линии, используйте [CanvasItem.DrawPolylineColors](/ru/docs/api/canvasitem#member-drawpolylinecolors-4e239fff36) вместо этого. Если widthотрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если это поведение не является желательным, то пройдите позитивнуюwidthТипа1.0. **Примечание:** antialiasedявляется эффективным только в том случае, еслиwidthбольше0.0`.
| Имя | Тип | По умолчанию |
|---|---|---|
points | ReadOnlySpan<Vector2> | — |
colors | ReadOnlySpan<Color> | — |
width | float | — |
public void DrawMultilineColors(ReadOnlySpan<Vector2> points, ReadOnlySpan<Color> colors, float width, bool antialiased);Рисует несколько отсоединенных линий с однородной формой width Каждый сегмент определяется двумя последовательными точками от каждого сегмента. points в местном пространстве и соответствующий цвет от colors i-й сегмент состоит из points[CanvasItem.DrawLine](/ru/docs/api/canvasitem#member-drawline-6049f7c36b) Чтобы нарисовать взаимосвязанные линии, используйте [CanvasItem.DrawPolylineColors](/ru/docs/api/canvasitem#member-drawpolylinecolors-4e239fff36) вместо этого. Если widthотрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если это поведение не является желательным, то пройдите позитивнуюwidthТипа1.0. **Примечание:** antialiasedявляется эффективным только в том случае, еслиwidthбольше0.0`.
| Имя | Тип | По умолчанию |
|---|---|---|
points | ReadOnlySpan<Vector2> | — |
colors | ReadOnlySpan<Color> | — |
width | float | — |
antialiased | bool | — |
DrawMultilineString2 перегрузки
public void DrawMultilineString(Font font, Vector2 pos, string text, HorizontalAlignment alignment, float width, int fontSize, int maxLines, Color? modulate, TextServer.LineBreakFlag brkFlags, TextServer.JustificationFlag justificationFlags, TextServer.Direction direction, TextServer.Orientation orientation);Разбивает text на строки и рисует их с указанным font в точке pos в локальном пространстве (в верхнем левом углу). Цвет текста будет умножен на CanvasItem.Modulate. Если width больше или равен 0, текст будет обрезан, если превысит указанную ширину. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Font | — |
pos | Vector2 | — |
text | string | — |
alignment | HorizontalAlignment | — |
width | float | — |
fontSize | int | — |
maxLines | int | — |
modulate | Color? | — |
brkFlags | TextServer.LineBreakFlag | — |
justificationFlags | TextServer.JustificationFlag | — |
direction | TextServer.Direction | — |
orientation | TextServer.Orientation | — |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
public void DrawMultilineString(Font font, Vector2 pos, string text, HorizontalAlignment alignment = HorizontalAlignment.Left, float width = -1f, int fontSize = 16, int maxLines = -1, Color? modulate = default, TextServer.LineBreakFlag brkFlags = TextServer.LineBreakFlag.Mandatory | TextServer.LineBreakFlag.WordBound, TextServer.JustificationFlag justificationFlags = TextServer.JustificationFlag.Kashida | TextServer.JustificationFlag.WordBound, TextServer.Direction direction = TextServer.Direction.Auto, TextServer.Orientation orientation = TextServer.Orientation.Horizontal, float oversampling = 0f);Разбивает text на строки и рисует их с указанным font в точке pos в локальном пространстве (в верхнем левом углу). Цвет текста будет умножен на CanvasItem.Modulate. Если width больше или равен 0, текст будет обрезан, если превысит указанную ширину. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Font | — |
pos | Vector2 | — |
text | string | — |
alignment | HorizontalAlignment | HorizontalAlignment.Left |
width | float | -1f |
fontSize | int | 16 |
maxLines | int | -1 |
modulate | Color? | default |
brkFlags | TextServer.LineBreakFlag | TextServer.LineBreakFlag.Mandatory | TextServer.LineBreakFlag.WordBound |
justificationFlags | TextServer.JustificationFlag | TextServer.JustificationFlag.Kashida | TextServer.JustificationFlag.WordBound |
direction | TextServer.Direction | TextServer.Direction.Auto |
orientation | TextServer.Orientation | TextServer.Orientation.Horizontal |
oversampling | float | 0f |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
DrawMultilineStringOutline2 перегрузки
public void DrawMultilineStringOutline(Font font, Vector2 pos, string text, HorizontalAlignment alignment, float width, int fontSize, int maxLines, int size, Color? modulate, TextServer.LineBreakFlag brkFlags, TextServer.JustificationFlag justificationFlags, TextServer.Direction direction, TextServer.Orientation orientation);Разбивает text на строки и рисует контур текста, используя указанный font в точке pos в локальном пространстве (в левом верхнем углу). Цвет текста будет умножен на CanvasItem.Modulate. Если width больше или равен 0, текст будет обрезан, если превысит указанную ширину. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Font | — |
pos | Vector2 | — |
text | string | — |
alignment | HorizontalAlignment | — |
width | float | — |
fontSize | int | — |
maxLines | int | — |
size | int | — |
modulate | Color? | — |
brkFlags | TextServer.LineBreakFlag | — |
justificationFlags | TextServer.JustificationFlag | — |
direction | TextServer.Direction | — |
orientation | TextServer.Orientation | — |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
public void DrawMultilineStringOutline(Font font, Vector2 pos, string text, HorizontalAlignment alignment = HorizontalAlignment.Left, float width = -1f, int fontSize = 16, int maxLines = -1, int size = 1, Color? modulate = default, TextServer.LineBreakFlag brkFlags = TextServer.LineBreakFlag.Mandatory | TextServer.LineBreakFlag.WordBound, TextServer.JustificationFlag justificationFlags = TextServer.JustificationFlag.Kashida | TextServer.JustificationFlag.WordBound, TextServer.Direction direction = TextServer.Direction.Auto, TextServer.Orientation orientation = TextServer.Orientation.Horizontal, float oversampling = 0f);Разбивает text на строки и рисует контур текста, используя указанный font в точке pos в локальном пространстве (в левом верхнем углу). Цвет текста будет умножен на CanvasItem.Modulate. Если width больше или равен 0, текст будет обрезан, если превысит указанную ширину. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Font | — |
pos | Vector2 | — |
text | string | — |
alignment | HorizontalAlignment | HorizontalAlignment.Left |
width | float | -1f |
fontSize | int | 16 |
maxLines | int | -1 |
size | int | 1 |
modulate | Color? | default |
brkFlags | TextServer.LineBreakFlag | TextServer.LineBreakFlag.Mandatory | TextServer.LineBreakFlag.WordBound |
justificationFlags | TextServer.JustificationFlag | TextServer.JustificationFlag.Kashida | TextServer.JustificationFlag.WordBound |
direction | TextServer.Direction | TextServer.Direction.Auto |
orientation | TextServer.Orientation | TextServer.Orientation.Horizontal |
oversampling | float | 0f |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
DrawMultimeshvoid
public void DrawMultimesh(MultiMesh multimesh, Texture2D texture);Рисует a MultiMesh в 2D с представленной текстурой. MultiMeshInstance2D для соответствующей документации.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
multimesh | MultiMesh | — |
texture | Texture2D | — |
DrawPolygon2 перегрузки
public void DrawPolygon(Vector2[] points, Color[] colors, Vector2[] uvs = null, Texture2D texture = null);Нарисовал твердый многоугольник из любого числа точек, выпуклых или конкавированных. CanvasItem.DrawColoredPolygon, цвет каждой точки может быть изменен по отдельности. points istrale определяется в местном пространстве. См. CanvasItem.DrawPolyline и CanvasItem.DrawPolylineColors. Если вам необходима бóльшая гибкость (например, возможность использовать кости), использовать RenderingServer.CanvasItemAddTriangleArray вместо этого.
Примечание: Если вы часто переделаете один и тот же многоугольник с большим количеством вершин, подумайте о предварительной вычислении триангуляции. Geometry2D.TriangulatePolygon и использования CanvasItem.DrawMesh, CanvasItem.DrawMultimeshили RenderingServer.CanvasItemAddTriangleArray.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
points | Vector2[] | — |
colors | Color[] | — |
uvs | Vector2[] | null |
texture | Texture2D | null |
uvsЕсли параметр не имеет значения, то значение по умолчанию: Array.Empty<Vector2>().
public void DrawPolygon(ReadOnlySpan<Vector2> points, ReadOnlySpan<Color> colors, ReadOnlySpan<Vector2> uvs, Texture2D texture);Нарисовал твердый многоугольник из любого числа точек, выпуклых или конкавированных. CanvasItem.DrawColoredPolygon, цвет каждой точки может быть изменен по отдельности. points istrale определяется в местном пространстве. См. CanvasItem.DrawPolyline и CanvasItem.DrawPolylineColors. Если вам необходима бóльшая гибкость (например, возможность использовать кости), использовать RenderingServer.CanvasItemAddTriangleArray вместо этого.
Примечание: Если вы часто переделаете один и тот же многоугольник с большим количеством вершин, подумайте о предварительной вычислении триангуляции. Geometry2D.TriangulatePolygon и использования CanvasItem.DrawMesh, CanvasItem.DrawMultimeshили RenderingServer.CanvasItemAddTriangleArray.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
points | ReadOnlySpan<Vector2> | — |
colors | ReadOnlySpan<Color> | — |
uvs | ReadOnlySpan<Vector2> | — |
texture | Texture2D | — |
DrawPolyline2 перегрузки
public void DrawPolyline(Vector2[] points, Color color, float width = -1f, bool antialiased = false);Рисует соединённые отрезки линий с одинаковыми color и width и опциональным сглаживанием (поддерживается только для положительных значений width). Массив points определён в локальном пространстве. При рисовании большого количества линий это быстрее, чем использование отдельных вызовов CanvasItem.DrawLine. Для рисования несвязанных линий используйте CanvasItem.DrawMultiline. См. также CanvasItem.DrawPolygon.
Если width отрицательный, он будет проигнорирован, и ломаная линия будет отрисована с помощью RenderingServer.PrimitiveType.LineStrip. Это означает, что при масштабировании CanvasItem ломаная линия останется тонкой. Если такое поведение нежелательно, передайте положительное значение width, например, 1.0.
| Имя | Тип | По умолчанию |
|---|---|---|
points | Vector2[] | — |
color | Color | — |
width | float | -1f |
antialiased | bool | false |
public void DrawPolyline(ReadOnlySpan<Vector2> points, Color color, float width, bool antialiased);Рисует соединённые отрезки линий с одинаковыми color и width и опциональным сглаживанием (поддерживается только для положительных значений width). Массив points определён в локальном пространстве. При рисовании большого количества линий это быстрее, чем использование отдельных вызовов CanvasItem.DrawLine. Для рисования несвязанных линий используйте CanvasItem.DrawMultiline. См. также CanvasItem.DrawPolygon.
Если width отрицательный, он будет проигнорирован, и ломаная линия будет отрисована с помощью RenderingServer.PrimitiveType.LineStrip. Это означает, что при масштабировании CanvasItem ломаная линия останется тонкой. Если такое поведение нежелательно, передайте положительное значение width, например, 1.0.
| Имя | Тип | По умолчанию |
|---|---|---|
points | ReadOnlySpan<Vector2> | — |
color | Color | — |
width | float | — |
antialiased | bool | — |
DrawPolylineColors2 перегрузки
public void DrawPolylineColors(Vector2[] points, Color[] colors, float width = -1f, bool antialiased = false);Рисует соединённые отрезки линий с равномерной шириной width, поточечной раскраской и опциональным сглаживанием (поддерживается только для положительных значений width). Цвета, назначенные точкам линии, соответствуют индексам между points и colors, т.е. каждый отрезок линии заполняется градиентом между цветами конечных точек. Массив points определён в локальном пространстве. При рисовании большого количества линий это быстрее, чем использование отдельных вызовов CanvasItem.DrawLine. Для рисования несвязанных линий используйте CanvasItem.DrawMultilineColors. См. также CanvasItem.DrawPolygon.
Если width отрицательный, он будет проигнорирован, и ломаная линия будет отрисована с помощью RenderingServer.PrimitiveType.LineStrip. Это означает, что при масштабировании CanvasItem ломаная линия останется тонкой. Если такое поведение нежелательно, передайте положительное значение width, например, 1.0.
| Имя | Тип | По умолчанию |
|---|---|---|
points | Vector2[] | — |
colors | Color[] | — |
width | float | -1f |
antialiased | bool | false |
public void DrawPolylineColors(ReadOnlySpan<Vector2> points, ReadOnlySpan<Color> colors, float width, bool antialiased);Рисует соединённые отрезки линий с равномерной шириной width, поточечной раскраской и опциональным сглаживанием (поддерживается только для положительных значений width). Цвета, назначенные точкам линии, соответствуют индексам между points и colors, т.е. каждый отрезок линии заполняется градиентом между цветами конечных точек. Массив points определён в локальном пространстве. При рисовании большого количества линий это быстрее, чем использование отдельных вызовов CanvasItem.DrawLine. Для рисования несвязанных линий используйте CanvasItem.DrawMultilineColors. См. также CanvasItem.DrawPolygon.
Если width отрицательный, он будет проигнорирован, и ломаная линия будет отрисована с помощью RenderingServer.PrimitiveType.LineStrip. Это означает, что при масштабировании CanvasItem ломаная линия останется тонкой. Если такое поведение нежелательно, передайте положительное значение width, например, 1.0.
| Имя | Тип | По умолчанию |
|---|---|---|
points | ReadOnlySpan<Vector2> | — |
colors | ReadOnlySpan<Color> | — |
width | float | — |
antialiased | bool | — |
DrawPrimitive2 перегрузки
public void DrawPrimitive(Vector2[] points, Color[] colors, Vector2[] uvs, Texture2D texture = null);Нарисовывает примитивную точку. 1 точка для точки, 2 точки для линии, 3 точки для треугольника и 4 точки для квадрата. Если указано 0 или более 4 точек, ничего не будет нарисовано и сообщение об ошибке будет напечатано. points istrale определяется в местном пространстве. См. CanvasItem.DrawLine, CanvasItem.DrawPolyline, CanvasItem.DrawPolygon, и CanvasItem.DrawRect.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
points | Vector2[] | — |
colors | Color[] | — |
uvs | Vector2[] | — |
texture | Texture2D | null |
public void DrawPrimitive(ReadOnlySpan<Vector2> points, ReadOnlySpan<Color> colors, ReadOnlySpan<Vector2> uvs, Texture2D texture);Нарисовывает примитивную точку. 1 точка для точки, 2 точки для линии, 3 точки для треугольника и 4 точки для квадрата. Если указано 0 или более 4 точек, ничего не будет нарисовано и сообщение об ошибке будет напечатано. points istrale определяется в местном пространстве. См. CanvasItem.DrawLine, CanvasItem.DrawPolyline, CanvasItem.DrawPolygon, и CanvasItem.DrawRect.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
points | ReadOnlySpan<Vector2> | — |
colors | ReadOnlySpan<Color> | — |
uvs | ReadOnlySpan<Vector2> | — |
texture | Texture2D | — |
DrawRect2 перегрузки
public void DrawRect(Rect2 rect, Color color, bool filled, float width);Рисует прямоугольник. filled это true, прямоугольник будет заполнен color Если: filled это false, прямоугольник будет нарисован как ход с color и width конкретно указано. rect , указывается в местном пространстве. См. также CanvasItem.DrawTextureRect.
Если width отрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если это поведение не является желательным, то пройдите позитивную width Типа 1.0.
Если antialiased это true, наполовину прозрачные "фазеры" будут прикрепляться к границе, делая гладкие контуры.
Примечание: width является эффективным только в том случае, если filled это false.
Примечание: Незаполненные прямоугольники, нарисованные с отрицательной width Например, углы могут отсутствовать или быть ярче из-за перекрывающихся линий (для прозрачных линий). color).
| Имя | Тип | По умолчанию |
|---|---|---|
rect | Rect2 | — |
color | Color | — |
filled | bool | — |
width | float | — |
public void DrawRect(Rect2 rect, Color color, bool filled = true, float width = -1f, bool antialiased = false);Рисует прямоугольник. filled это true, прямоугольник будет заполнен color Если: filled это false, прямоугольник будет нарисован как ход с color и width конкретно указано. rect , указывается в местном пространстве. См. также CanvasItem.DrawTextureRect.
Если width отрицательный, тогда вместо четырёх точек будут нарисованы двухточечные примитивы. CanvasItem Если это поведение не является желательным, то пройдите позитивную width Типа 1.0.
Если antialiased это true, наполовину прозрачные "фазеры" будут прикрепляться к границе, делая гладкие контуры.
Примечание: width является эффективным только в том случае, если filled это false.
Примечание: Незаполненные прямоугольники, нарисованные с отрицательной width Например, углы могут отсутствовать или быть ярче из-за перекрывающихся линий (для прозрачных линий). color).
| Имя | Тип | По умолчанию |
|---|---|---|
rect | Rect2 | — |
color | Color | — |
filled | bool | true |
width | float | -1f |
antialiased | bool | false |
DrawSetTransformvoid
public void DrawSetTransform(Vector2 position, float rotation = 0f, Vector2? scale = default);Задаёт пользовательское локальное преобразование для отрисовки через компоненты. Всё, что будет отрисовано после этого, будет преобразовано этим преобразованием.
Примечание: FontFile.Oversampling не учитывает scale. Это означает, что масштабирование приведёт к размытию или пикселизации растровых (не MSDF) динамических шрифтов. Чтобы текст оставался чётким независимо от масштаба, можно включить рендеринг шрифтов MSDF, включив ProjectSettings.gui/theme/default_font_multichannel_signed_distance_field (применяется только к шрифту проекта по умолчанию) или Мультиканальное поле в параметрах импорта DynamicFont для пользовательских шрифтов. Для системных шрифтов SystemFont.MultichannelSignedDistanceField можно включить в инспекторе.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
rotation | float | 0f |
scale | Vector2? | default |
scaleЕсли параметр не имеет значения, то значение по умолчанию: new Vector2(1.0f, 1.0f).
DrawSetTransformMatrixvoid
public void DrawSetTransformMatrix(Transform2D xform);Задаёт локальное преобразование для рисования через матрицу. Всё, что будет отрисовано после этого, будет преобразовано этим преобразованием.
| Имя | Тип | По умолчанию |
|---|---|---|
xform | Transform2D | — |
DrawString2 перегрузки
public void DrawString(Font font, Vector2 pos, string text, HorizontalAlignment alignment, float width, int fontSize, Color? modulate, TextServer.JustificationFlag justificationFlags, TextServer.Direction direction, TextServer.Orientation orientation);Рисует text с использованием указанного font в pos локального пространства (нижний левый угол, используя базовую линию шрифта). Цвет текста будет умножен на CanvasItem.Modulate. Если width больше или равен 0, текст будет обрезан, если он превышает указанную ширину. Если oversampling больше нуля, он используется в качестве коэффициента передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.
Пример: Рисует «Приветствую мир», используя шрифт по умолчанию проекта:
DrawString(ThemeDB.FallbackFont, new Vector2(64, 64), "Hello world", HorizontalAlignment.Left, -1, ThemeDB.FallbackFontSize);См. также Font.DrawString.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Font | — |
pos | Vector2 | — |
text | string | — |
alignment | HorizontalAlignment | — |
width | float | — |
fontSize | int | — |
modulate | Color? | — |
justificationFlags | TextServer.JustificationFlag | — |
direction | TextServer.Direction | — |
orientation | TextServer.Orientation | — |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
public void DrawString(Font font, Vector2 pos, string text, HorizontalAlignment alignment = HorizontalAlignment.Left, float width = -1f, int fontSize = 16, Color? modulate = default, TextServer.JustificationFlag justificationFlags = TextServer.JustificationFlag.Kashida | TextServer.JustificationFlag.WordBound, TextServer.Direction direction = TextServer.Direction.Auto, TextServer.Orientation orientation = TextServer.Orientation.Horizontal, float oversampling = 0f);Рисует text с использованием указанного font в pos локального пространства (нижний левый угол, используя базовую линию шрифта). Цвет текста будет умножен на CanvasItem.Modulate. Если width больше или равен 0, текст будет обрезан, если он превышает указанную ширину. Если oversampling больше нуля, он используется в качестве коэффициента передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.
Пример: Рисует «Приветствую мир», используя шрифт по умолчанию проекта:
DrawString(ThemeDB.FallbackFont, new Vector2(64, 64), "Hello world", HorizontalAlignment.Left, -1, ThemeDB.FallbackFontSize);См. также Font.DrawString.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Font | — |
pos | Vector2 | — |
text | string | — |
alignment | HorizontalAlignment | HorizontalAlignment.Left |
width | float | -1f |
fontSize | int | 16 |
modulate | Color? | default |
justificationFlags | TextServer.JustificationFlag | TextServer.JustificationFlag.Kashida | TextServer.JustificationFlag.WordBound |
direction | TextServer.Direction | TextServer.Direction.Auto |
orientation | TextServer.Orientation | TextServer.Orientation.Horizontal |
oversampling | float | 0f |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
DrawStringOutline2 перегрузки
public void DrawStringOutline(Font font, Vector2 pos, string text, HorizontalAlignment alignment, float width, int fontSize, int size, Color? modulate, TextServer.JustificationFlag justificationFlags, TextServer.Direction direction, TextServer.Orientation orientation);Рисует контур text с заданным font в точке pos в локальном пространстве (в левом нижнем углу, используя базовую линию шрифта). Цвет текста будет умножен на CanvasItem.Modulate. Если width больше или равен 0, текст будет обрезан при превышении заданной ширины. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Font | — |
pos | Vector2 | — |
text | string | — |
alignment | HorizontalAlignment | — |
width | float | — |
fontSize | int | — |
size | int | — |
modulate | Color? | — |
justificationFlags | TextServer.JustificationFlag | — |
direction | TextServer.Direction | — |
orientation | TextServer.Orientation | — |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
public void DrawStringOutline(Font font, Vector2 pos, string text, HorizontalAlignment alignment = HorizontalAlignment.Left, float width = -1f, int fontSize = 16, int size = 1, Color? modulate = default, TextServer.JustificationFlag justificationFlags = TextServer.JustificationFlag.Kashida | TextServer.JustificationFlag.WordBound, TextServer.Direction direction = TextServer.Direction.Auto, TextServer.Orientation orientation = TextServer.Orientation.Horizontal, float oversampling = 0f);Рисует контур text с заданным font в точке pos в локальном пространстве (в левом нижнем углу, используя базовую линию шрифта). Цвет текста будет умножен на CanvasItem.Modulate. Если width больше или равен 0, текст будет обрезан при превышении заданной ширины. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Font | — |
pos | Vector2 | — |
text | string | — |
alignment | HorizontalAlignment | HorizontalAlignment.Left |
width | float | -1f |
fontSize | int | 16 |
size | int | 1 |
modulate | Color? | default |
justificationFlags | TextServer.JustificationFlag | TextServer.JustificationFlag.Kashida | TextServer.JustificationFlag.WordBound |
direction | TextServer.Direction | TextServer.Direction.Auto |
orientation | TextServer.Orientation | TextServer.Orientation.Horizontal |
oversampling | float | 0f |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
DrawStyleBoxvoid
public void DrawStyleBox(StyleBox styleBox, Rect2 rect);Нарисует прямоугольник в стиле. rect определяется в местном пространстве.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
styleBox | StyleBox | — |
rect | Rect2 | — |
DrawTexturevoid
public void DrawTexture(Texture2D texture, Vector2 position, Color? modulate = default);Нарисовывает текстуру в данном положении. position определяется в местном пространстве.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
texture | Texture2D | — |
position | Vector2 | — |
modulate | Color? | default |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
DrawTextureRectvoid
public void DrawTextureRect(Texture2D texture, Rect2 rect, bool tile, Color? modulate = default, bool transpose = false);Нарисует текстурированный прямоугольник в данном положении, факультативно модифицируемый цветом. rect определяется в местном пространстве. transpose это true, текстура будет поменяться координатами X и Y. См. также CanvasItem.DrawRect и CanvasItem.DrawTextureRectRegion.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
texture | Texture2D | — |
rect | Rect2 | — |
tile | bool | — |
modulate | Color? | default |
transpose | bool | false |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
DrawTextureRectRegionvoid
public void DrawTextureRectRegion(Texture2D texture, Rect2 rect, Rect2 srcRect, Color? modulate = default, bool transpose = false, bool clipUV = true);Рисует текстурированный прямоугольник из области текстуры (определяемой src_rect) в данном положении в местном пространстве, факультативно модифицируемый цветом. transpose это true, текстура будет поменяться координатами X и Y. См. также CanvasItem.DrawTextureRect.
Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.
| Имя | Тип | По умолчанию |
|---|---|---|
texture | Texture2D | — |
rect | Rect2 | — |
srcRect | Rect2 | — |
modulate | Color? | default |
transpose | bool | false |
clipUV | bool | true |
modulateЕсли параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).
ForceUpdateTransformvoid
public void ForceUpdateTransform();Заставляет обновить преобразование узла. Не удается, если узел не находится внутри дерева. См. также CanvasItem.GetTransform.
Примечание: Из соображений производительности изменения преобразования обычно накапливаются и применяются один раз в конце кадра. Обновление также распространяется на дочерние элементы CanvasItem. Поэтому используйте этот метод только тогда, когда вам нужно актуальное преобразование (например, во время физических операций).
GetCanvasRid
public Rid GetCanvas();Возвращает Rid холста World2D, на котором зарегистрирован этот узел, используемый в RenderingServer.
RidGetCanvasItemRid
public Rid GetCanvasItem();Возвращает внутренний элемент холста Rid, используемый в RenderingServer для этого узла.
RidGetCanvasLayerEntityCanvasLayer
public CanvasLayer GetCanvasLayerEntity();Возвращает CanvasLayer, содержащий этот узел, или null, если узел не находится ни в одном CanvasLayer.
CanvasLayerGetCanvasTransformTransform2D
public Transform2D GetCanvasTransform();Возвращает действующее преобразование canvas: итоговое преобразование CanvasLayer либо CanvasTransform viewport. Требует нахождения в дереве; не включает локальное преобразование самого элемента и конечное растяжение окна.
Transform2DДействующее преобразование canvas без локальной матрицы элемента.
GetClipChildrenModeCanvasItem.ClipChildrenMode
public CanvasItem.ClipChildrenMode GetClipChildrenMode();CanvasItem.ClipChildrenModeGetGlobalMousePositionVector2
public Vector2 GetGlobalMousePosition();Возвращает глобальную позицию курсора мыши относительно CanvasLayer, содержащего этот узел.
Примечание: Для координат экранного пространства (например, при использовании невстроенного Popup) можно использовать DisplayServer.MouseGetPosition.
Vector2GetGlobalTransformTransform2D
public Transform2D GetGlobalTransform();Возвращает глобальную матрицу преобразования этого элемента, т. е. объединенное преобразование до самого верхнего узла CanvasItem. Самый верхний элемент — это CanvasItem, у которого либо нет родителя, либо есть родитель, отличный от CanvasItem, либо включен CanvasItem.TopLevel.
Transform2DGetGlobalTransformWithCanvasTransform2D
public Transform2D GetGlobalTransformWithCanvas();Составляет преобразование из локальной системы CanvasItem в canvas/viewport с учётом родительской иерархии и CanvasLayer либо canvas viewport. Для точки из того же viewport обратная матрица даёт локальные координаты при обратимом преобразовании.
Transform2DTransform2D составного преобразования. Для объекта вне дерева без CanvasLayer используется только глобальное преобразование объекта; это не полноценная привязка к будущему viewport.
GetInstanceShaderParameterVariant
public Variant GetInstanceShaderParameter(StringName name);Читает текущее значение реестра экземпляра CanvasItem. После подготовки материалов и сброса через Nil доступен объявленный default; для отсутствующей записи возвращается Nil. Не путайте с параметром общего ShaderMaterial.
| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | — |
nameТочное имя параметра с учётом регистра.
VariantТекущее известное значение экземпляра либо Nil.
GetLightMaskint
public int GetLightMask();intGetLocalMousePositionVector2
public Vector2 GetLocalMousePosition();Возвращает положение мыши в этом CanvasItem, используя локальную систему координат этого CanvasItem.
Vector2GetMaterialMaterial
public Material GetMaterial();Возвращает собственный назначенный ресурс. Это не вычисление эффективного материала с учётом UseParentMaterial.
MaterialСобственный Material или null. Проверьте UseParentMaterial, если ресурс читается правильно, а изображение использует другие настройки.
GetModulateColor
public Color GetModulate();ColorGetOversamplingWithScaleCanvasItem.OversamplingWithScaleEnum
public CanvasItem.OversamplingWithScaleEnum GetOversamplingWithScale();CanvasItem.OversamplingWithScaleEnumGetScreenTransformTransform2D
public Transform2D GetScreenTransform();Возвращает преобразование этого CanvasItem в глобальных экранных координатах (т. е. с учетом положения окна). В основном полезно для плагинов редактора.
Эквивалентно CanvasItem.GetGlobalTransformWithCanvas, если окно встроено (см. Viewport.GuiEmbedSubwindows).
Transform2DGetSelfModulateColor
public Color GetSelfModulate();ColorGetTextureFilterCanvasItem.TextureFilterEnum
public CanvasItem.TextureFilterEnum GetTextureFilter();Читает заданную политику элемента. Может вернуть ParentNode: это не вычисленное имя фильтра после разрешения всей цепочки наследования.
CanvasItem.TextureFilterEnumСохранённый TextureFilterEnum. Наличие mipmap-режима не доказывает, что данные конкретной текстуры содержат mipmaps.
GetTextureRepeatCanvasItem.TextureRepeatEnum
public CanvasItem.TextureRepeatEnum GetTextureRepeat();CanvasItem.TextureRepeatEnumGetTransformTransform2D
public Transform2D GetTransform();Возвращает матрицу преобразования этого CanvasItem.
Transform2DGetUseParentMaterialbool
public bool GetUseParentMaterial();Читает флаг выбора родительского материала, не сам материал.
boolТекущее значение UseParentMaterial. Для своего назначенного ресурса используйте GetMaterial.
GetViewportRectRect2
public Rect2 GetViewportRect();Возвращает границы области просмотра этого узла как Rect2. См. также Entity.GetViewport.
Rect2GetViewportTransformTransform2D
public Transform2D GetViewportTransform();Возвращает преобразование этого узла, преобразованное из зарегистрированной системы координат холста в систему координат его вьюпорта-эмбеддера. См. также Viewport.GetFinalTransform и Entity.GetViewport.
Transform2DGetVisibilityLayeruint
public uint GetVisibilityLayer();uintGetVisibilityLayerBitbool
public bool GetVisibilityLayerBit(uint layer);Returns (Возврат) true если слой при данном индексе установлен в CanvasItem.VisibilityLayer.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | uint | — |
boolGetWorld2DWorld2D
public World2D GetWorld2D();Возвращает World2D, в котором зарегистрирован этот узел.
Обычно это то же самое, что и область просмотра этого узла (см. Entity.GetViewport и Viewport.FindWorld2D).
Спрячься.
World2DGetZIndexint
public int GetZIndex();intHidevoid
public void Hide();Скрыть CanvasItem, если он в данный момент виден. Это эквивалентно установке CanvasItem.Visible на false.
IsDrawBehindParentEnabledbool
public bool IsDrawBehindParentEnabled();boolIsLocalTransformNotificationEnabledbool
public bool IsLocalTransformNotificationEnabled();Возвращает true, если узел получает CanvasItem.NotificationLocalTransformChanged всякий раз, когда изменяется его локальное преобразование. Это включается с помощью CanvasItem.SetNotifyLocalTransform.
boolIsSetAsTopLevelbool
public bool IsSetAsTopLevel();boolIsTransformNotificationEnabledbool
public bool IsTransformNotificationEnabled();Возвращает true, если узел получает CanvasItem.NotificationTransformChanged всякий раз, когда изменяется его глобальное преобразование. Это включается с помощью CanvasItem.SetNotifyTransform.
boolIsVisiblebool
public bool IsVisible();boolIsVisibleInTreebool
public bool IsVisibleInTree();Returns (Возврат) true если узел присутствует в EntityTree, его CanvasItem.Visible имущество true И все предки его также видны. Если кто-либо из предков спрятан, то этот узел не будет виден на дереве сцены и поэтому не будет нарисован (см. CanvasItem.Draw).
Видимость проверяется только в материнских узлах, которые унаследованы от CanvasItem, CanvasLayer, и WindowЕсли родитель принадлежит к какому-либо другому типу (например, Entity, AnimationPlayerили Entity3D), предполагается, что он является видимым.
Примечание: Этот метод не используется CanvasItem.VisibilityLayer в расчет, так что даже если этот метод возвращает true, узел может оказаться не переведенным.
boolIsYSortEnabledbool
public bool IsYSortEnabled();boolIsZRelativebool
public bool IsZRelative();boolMakeCanvasPositionLocalVector2
public Vector2 MakeCanvasPositionLocal(Vector2 viewportPoint);Переводит логическую точку viewport в локальные координаты элемента, обращая произведение преобразования canvas и GlobalTransform. Требует нахождения в дереве и обратимого базиса; вход не должен быть позицией экрана ОС.
| Имя | Тип | По умолчанию |
|---|---|---|
viewportPoint | Vector2 | — |
viewportPointЛогическая точка того же viewport на этапе canvas.
Vector2Точка в локальной системе элемента.
MakeInputLocalInputEvent
public InputEvent MakeInputLocal(InputEvent @event);Возвращает событие с применённым обратным преобразованием canvas и элемента; исходное событие не изменяет. Используйте для ввода в логических координатах того же viewport, не для уже локальных координат обработчика GUI. Требует нахождения в дереве и обратимого базиса.
| Имя | Тип | По умолчанию |
|---|---|---|
event | InputEvent | — |
eventСобытие в логических координатах того же viewport; исходный объект сохраняется.
InputEventПреобразованное событие; исходное событие остаётся без изменений.
MoveToFrontvoid
public void MoveToFront();Перемещает этот узел ниже его братьев и сестер, обычно заставляя узел рисоваться поверх своих братьев и сестер. Ничего не делает, если у этого узла нет родителя. См. также Entity.MoveChild.
QueueRedrawvoid
public void QueueRedraw();Ставит в очередь CanvasItem для перерисовки. Во время простоя, если CanvasItem виден, отправляется CanvasItem.NotificationDraw и вызывается CanvasItem.Draw. Это происходит только один раз за кадр, даже если этот метод вызывался несколько раз.
SetAsTopLevelvoid
public void SetAsTopLevel(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetClipChildrenModevoid
public void SetClipChildrenMode(CanvasItem.ClipChildrenMode mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | CanvasItem.ClipChildrenMode | — |
SetDrawBehindParentvoid
public void SetDrawBehindParent(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetInstanceShaderParametervoid
public void SetInstanceShaderParameter(StringName name, Variant value);Задаёт uniform экземпляра для одного CanvasItem без копирования общего материала. Nil разрешает и устанавливает объявленное значение по умолчанию. Имя и тип должны соответствовать instance uniform шейдера.
| Имя | Тип | По умолчанию |
|---|---|---|
name | StringName | — |
value | Variant | — |
nameТочное имя параметра с учётом регистра.
valueЗначение объявленного instance-типа; Nil восстанавливает объявленный default.
SetLightMaskvoid
public void SetLightMask(int lightMask);| Имя | Тип | По умолчанию |
|---|---|---|
lightMask | int | — |
SetMaterialvoid
public void SetMaterial(Material material);Назначает собственный материал элемента. При UseParentMaterial=true он не определяет текущий вид: сначала проверьте наследование. null снимает собственное назначение.
| Имя | Тип | По умолчанию |
|---|---|---|
material | Material | — |
materialПодходящий 2D Material или null. Для текстового shader используйте ShaderMaterial с shader_type canvas_item.
SetModulatevoid
public void SetModulate(Color modulate);| Имя | Тип | По умолчанию |
|---|---|---|
modulate | Color | — |
SetNotifyLocalTransformvoid
public void SetNotifyLocalTransform(bool enable);Если true, узел будет получать CanvasItem.NotificationLocalTransformChanged всякий раз, когда его локальное преобразование изменяется.
Примечание: Многие элементы холста, такие как Bone2D или CollisionShape2D, автоматически включают это для правильной работы.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetNotifyTransformvoid
public void SetNotifyTransform(bool enable);Если true, узел будет получать CanvasItem.NotificationTransformChanged всякий раз, когда изменяется его глобальное преобразование.
Примечание: Многие элементы холста, такие как Camera2D или Light2D, автоматически включают эту функцию для корректной работы.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetOversamplingWithScalevoid
public void SetOversamplingWithScale(CanvasItem.OversamplingWithScaleEnum enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | CanvasItem.OversamplingWithScaleEnum | — |
SetSelfModulatevoid
public void SetSelfModulate(Color selfModulate);| Имя | Тип | По умолчанию |
|---|---|---|
selfModulate | Color | — |
SetTextureFiltervoid
public void SetTextureFilter(CanvasItem.TextureFilterEnum mode);Задаёт политику фильтрации 2D-текстур и обновляет её наследование. Для пиксельной графики обычно нужна Nearest, для уменьшенной фотографии — линейная фильтрация с заранее подготовленными mipmaps. Выбор зависит от ассета, а не от правила «везде максимум».
| Имя | Тип | По умолчанию |
|---|---|---|
mode | CanvasItem.TextureFilterEnum | — |
modeЗначение TextureFilterEnum. ParentNode означает наследование; Max — ограничитель перечисления, не режим фильтрации.
SetTextureRepeatvoid
public void SetTextureRepeat(CanvasItem.TextureRepeatEnum mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | CanvasItem.TextureRepeatEnum | — |
SetUseParentMaterialvoid
public void SetUseParentMaterial(bool enable);Переключает выбор родительского материала при рисовании. Не удаляет собственный Material и не копирует значения uniform между ресурсами.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enabletrue выбирает родительский материал; false возвращает использование собственного назначения.
SetVisibilityLayervoid
public void SetVisibilityLayer(uint layer);| Имя | Тип | По умолчанию |
|---|---|---|
layer | uint | — |
SetVisibilityLayerBitvoid
public void SetVisibilityLayerBit(uint layer, bool enabled);Установить/чистить отдельные биты на слое изображения (layer между 0 и 31Это упрощает редактирование этого текста. CanvasItem"слой видимости по сравнению с присвоением CanvasItem.VisibilityLayer - свойство - напрямую.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | uint | — |
enabled | bool | — |
SetVisiblevoid
public void SetVisible(bool visible);| Имя | Тип | По умолчанию |
|---|---|---|
visible | bool | — |
SetYSortEnabledvoid
public void SetYSortEnabled(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetZAsRelativevoid
public void SetZAsRelative(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetZIndexvoid
public void SetZIndex(int zIndex);| Имя | Тип | По умолчанию |
|---|---|---|
zIndex | int | — |
Showvoid
public void Show();Показывать CanvasItem, если он в данный момент скрыт. Это эквивалентно установке CanvasItem.Visible на true.
Примечание: Для элементов управления, которые наследуют Popup, правильный способ сделать их видимыми — вызвать одну из нескольких функций popup*().
_Drawvoid
public virtual void _Draw();Вызывается, когда CanvasItem был запрошен для перерисовки (после вызова CanvasItem.QueueRedraw, вручную или движком).
Соответствует уведомлению CanvasItem.NotificationDraw в ReckfellObject.Notification.
Сигналы и события4
DrawСобытие
public event Action Draw;Вызывается, когда CanvasItem был запрошен для перерисовки (после вызова CanvasItem.QueueRedraw, вручную или движком).
Соответствует уведомлению CanvasItem.NotificationDraw в ReckfellObject.Notification.
public event Action Hidden;Выдается, когда этот узел становится скрытым, т.е. он больше не виден в дереве (см. CanvasItem.IsVisibleInTree).
ItemRectChangedСобытие
public event Action ItemRectChanged;Вызывается при изменении границ CanvasItem (положения или размера) или при выполнении действия, которое могло повлиять на эти границы (например, изменение Sprite2D.Texture).
VisibilityChangedСобытие
public event Action VisibilityChanged;Выдается при изменении видимости CanvasItem, либо из-за изменения его собственного свойства CanvasItem.Visible, либо из-за изменения его видимости в дереве (см. CanvasItem.IsVisibleInTree).
Этот сигнал выдается после связанного уведомления CanvasItem.NotificationVisibilityChanged.
Поля и константы7
NotificationDrawПоле
public const long NotificationDraw = 30;CanvasItem запрашивается для рисования (см. CanvasItem.Draw).
УВЕДОМЛЕНИЕ_ВИЗИТ_ ИЗМЕНЕНИЕ
NotificationEnterCanvasПоле
public const long NotificationEnterCanvas = 32;CanvasItem вошел в холст.
УВЕДОМЛЕНИЕ_EXIT_CANVAS
NotificationExitCanvasПоле
public const long NotificationExitCanvas = 33;CanvasItem вышел за пределы холста.
Это уведомление отправляется в обратном порядке.
NotificationLocalTransformChangedПоле
public const long NotificationLocalTransformChanged = 35;Уведомление получено, когда изменяется преобразование этого узла, если CanvasItem.IsLocalTransformNotificationEnabled равно true. Это не получено, когда изменяется преобразование родительского Entity2D. См. также CanvasItem.SetNotifyLocalTransform.
Примечание: Многие элементы холста, такие как Camera2D или CollisionShape2D, автоматически включают это для корректной работы.
УВЕДОМЛЕНИЕ
NotificationTransformChangedПоле
public const long NotificationTransformChanged = 2000;Уведомление получено, когда изменяется глобальное преобразование этого узла, если CanvasItem.IsTransformNotificationEnabled равно true. См. также CanvasItem.SetNotifyTransform и CanvasItem.GetTransform.
Примечание: Многие элементы холста, такие как Camera2D или CollisionObject2D, автоматически включают это для корректной работы.
УВЕДОМЛЕНИЕ_LOCAL_TRANSFORM_ ИЗМЕНЕНИЕ
NotificationVisibilityChangedПоле
public const long NotificationVisibilityChanged = 31;Уведомление получено, когда видимость этого узла изменяется (см. CanvasItem.Visible и CanvasItem.IsVisibleInTree).
Это уведомление получено до связанного сигнала CanvasItem.VisibilityChanged.
УВЕДОМЛЕНИЕ_ENTER_CANVAS
NotificationWorld2DChangedПоле
public const long NotificationWorld2DChanged = 36;Уведомление получено, когда этот CanvasItem зарегистрирован в новом World2D (см. CanvasItem.GetWorld2D).
CanvasItem.ClipChildrenMode
| Значение | Описание |
|---|---|
AndDraw = 2 | Этот узел используется как маска и также рисуется. Маска основана на альфа-канале этого узла: непрозрачные пиксели сохраняются, прозрачные пиксели отбрасываются, а полупрозрачные пиксели смешиваются в соответствии с их непрозрачностью. Дочерние элементы обрезаются по рисуемой области родителя. |
Disabled = 0 | Дочерние элементы рисуются поверх этого узла и не обрезаются. |
Max = 3 | Представляет размер перечисления |
Only = 1 | Этот узел используется как маска и не рисуется. Маска основана на альфа-канале этого узла: непрозрачные пиксели сохраняются, прозрачные пиксели отбрасываются, а полупрозрачные пиксели смешиваются в соответствии с их непрозрачностью. Потомки обрезаются по рисуемой области этого узла. |
CanvasItem.OversamplingWithScaleEnum
| Значение | Описание |
|---|---|
Disabled = 1 | Передискретизация не зависит от масштаба |
Enabled = 2 | Передискретизация представляет собой произведение масштаба |
Max = 3 | Представляет размер перечисления |
ParentNode = 0 | Этот |
CanvasItem.TextureFilterEnum
| Значение | Описание |
|---|---|
Linear = 2 | Фильтр текстуры смешивает ближайшие 4 пикселя. Это делает текстуру гладкой вблизи и зернистой на расстоянии (из-за того, что mip-карты не сэмплируются). |
LinearWithMipmaps = 4 | Фильтр текстуры смешивает ближайшие 4 пикселя и ближайшие 2 mip-карты (или использует ближайшую mip-карту, если |
LinearWithMipmapsAnisotropic = 6 | Фильтр текстуры смешивает ближайшие 4 пикселя и смешивает 2 mip-карты (или использует ближайшую mip-карту, если |
Max = 7 | Представляет размер перечисления |
Nearest = 1 | Фильтр текстуры считывает только ближайший пиксель. Это делает текстуру пикселизированной вблизи и зернистой на расстоянии (из-за того, что mip-карты не сэмплируются). |
NearestWithMipmaps = 3 | Фильтр текстуры считывает данные с ближайшего пикселя и смешивает данные между двумя ближайшими mip-картами (или использует ближайшую mip-карту, если |
NearestWithMipmapsAnisotropic = 5 | Текстурный фильтр считывает данные с ближайшего пикселя и смешивает два mip-текстурных отображения (или использует ближайшее mip-текстурное отображение, если |
ParentNode = 0 |
|
CanvasItem.TextureRepeatEnum
| Значение | Описание |
|---|---|
Disabled = 1 | Текстура не повторяется. Выборка текстуры за пределами её границ приведёт к "растяжению" граничных пикселей. Этого можно избежать, обеспечив полностью прозрачную границу шириной в 1 пиксель с каждой стороны текстуры. ТЕКСТУРЕ_РЕПИТ |
Enabled = 2 | Текстура повторяется при превышении размера текстуры. |
Max = 4 | Представляет размер перечисления |
Mirror = 3 | Текстура повторяется при превышении размера текстуры в "плиточном режиме 2×2". Повторяющиеся текстуры в четных позициях зеркально отражаются. |
ParentNode = 0 |
|