reckfellENGINE

CanvasItem

Абстрактный базовый класс для всего, что находится в двумерном пространстве.

На этой странице
class CanvasItemReckfellSharpНаследует Entity

Абстрактный базовый класс для всего, что находится в двумерном пространстве.

Абстрактный базовый класс для всего в 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Свойство
# ClipChildren
C#
public CanvasItem.ClipChildrenMode ClipChildren { get; set; }

Режим, в котором этот узел обрезает свои дочерние элементы, действуя как маска. Примечание: Узлы обрезания не могут быть вложенными или помещены в CanvasGroup. Если предок этого узла обрезает свои дочерние элементы или является CanvasGroup, то режим обрезания этого узла должен быть установлен на CanvasItem.ClipChildrenMode.Disabled, чтобы избежать непредвиденного поведения.

LightMaskСвойство
# LightMask
C#
public int LightMask { get; set; }

Слои рендеринга, в которых этот CanvasItem реагирует на узлы Light2D.

MaterialСвойство
# Material
C#
public Material Material { get; set; }

Собственный материал 2D-элемента: CanvasItemMaterial или ShaderMaterial с canvas_item-программой. UseParentMaterial=true выбирает родительский материал вместо этого ресурса. Несколько элементов с одним ShaderMaterial делят его обычные uniform.

ModulateСвойство
# Modulate
C#
public Color Modulate { get; set; }

Цветовой множитель элемента и наследующих CanvasItem-потомков. В собственном shader учитывайте modulation: пример сохраняет COLOR из vertex() в varying и умножает на отдельно выбранную текстуру. Без этого присваивание COLOR в fragment() может потерять нужное умножение.

OversamplingWithScaleСвойство
# OversamplingWithScale
C#
public CanvasItem.OversamplingWithScaleEnum OversamplingWithScale { get; set; }

При наличии возможности, переборка для этого CanvasItem автоматически корректируется по шкале. Это делает шрифты и DpiTexture Изображения автоматически переизменяются, чтобы соответствовать фактической шкале, которую они нарисованы для хрустального визуализации. Это оказывает влияние на процессор каждый раз, когда шкала узла изменяется, поэтому он отключается по умолчанию. Примечание: Для Control узлы с Control.OffsetTransformEnabled установлен в true, чрезмерное выборка на основе шкалы является эффективной только в том случае, если Control.OffsetTransformVisualOnly это false. Это обеспечивает отсутствие накладных расходов при использовании только визуальных перестановок (как часто используется в анимациях).

SelfModulateСвойство
# SelfModulate
C#
public Color SelfModulate { get; set; }

Цвет, примененный к этому CanvasItem. Это свойство не влияет на дочерние CanvasItem, в отличие от CanvasItem.Modulate, которое влияет как на сам узел, так и на его дочерние элементы. Примечание: Внутренние дочерние элементы также не затрагиваются этим свойством (см. параметр include_internal в Entity.AddChild). Для встроенных узлов это включает ползунки в ColorPicker и панель вкладок в TabContainer.

ShowBehindParentСвойство
# ShowBehindParent
C#
public bool ShowBehindParent { get; set; }

Если true, этот узел отрисовывается позади своего родителя.

TextureFilterСвойство
# TextureFilter
C#
public CanvasItem.TextureFilterEnum TextureFilter { get; set; }

Политика фильтрации текстур этого элемента. ParentNode наследует настройку; LinearWithMipmaps использует mipmaps при их наличии. В примере ImageTexture подготовлена с mipmaps для уменьшенных изображений. Это не включение MSAA и не генерация mipmaps самим свойством.

TextureRepeatСвойство
# TextureRepeat
C#
public CanvasItem.TextureRepeatEnum TextureRepeat { get; set; }

Режим повторения, используемый для отрисовки текстур этого CanvasItem. Он влияет на то, что происходит при выборке текстуры за пределами её границ, например, путём установки Sprite2D.RegionRect большего размера, чем текстура, или назначения UV-точек Polygon2D за пределами текстуры. Примечание: TextureRect не подвержен влиянию CanvasItem.TextureRepeat, поскольку использует собственную реализацию повторения текстуры.

TopLevelСвойство
# TopLevel
C#
public bool TopLevel { get; set; }

Отключает наследование преобразования родительского CanvasItem. Не удаляет элемент из дерева, не переносит его в другой viewport и не отключает преобразование его canvas камерой или CanvasLayer.

UseParentMaterialСвойство
# UseParentMaterial
C#
public bool UseParentMaterial { get; set; }

Если true, при рисовании используется родительский материал вместо собственного Material. Назначенный собственный ресурс остаётся доступен через getter. В проверке родительский tint перекрыл детский grayscale; false вернул детский shader.

VisibilityLayerСвойство
# VisibilityLayer
C#
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Свойство
# Visible
C#
public bool Visible { get; set; }

Если true, это CanvasItem Может быть нарисовано. CanvasItem на самом деле нарисовано зависит от видимости всего CanvasItem Другими словами: CanvasItem будет произведен, когда CanvasItem.IsVisibleInTree возврат true И все CanvasItem У предков есть по крайней мере один CanvasItem.VisibilityLayer с этим CanvasItem. Примечание: Для контроля, наследуемого Popup, правильный способ сделать их видимыми это позвонить одному из нескольких popup*() Вместо этого функции.

YSortEnabledСвойство
# YSortEnabled
C#
public bool YSortEnabled { get; set; }

Если true, это и ребенок CanvasItem Узлы с более высоким положением Y передаются перед узлами с более низким положением Y. false, это и ребенок CanvasItem Узлы обычно передаются в порядке сцены на дереве. С помощью Y-сортирования на родительском узле ('A', но отключён на детском узле ('B'), детский узел ('B') сортируется, но его дети ('C1', 'C2' и т.д.) превращаются вместе на Y положение, как и детский узел ('B'). Это позволяет вам организовать порядок сцены без изменения дерева сцены. Участки сортируются по отношению друг к другу, только если они на одном и том же. CanvasItem.ZIndex. Примечание: У-сортирование имеет Нет влияет на порядок, в котором CanvasItem Это особенно важно иметь в виду для Control узлы.

ZAsRelativeСвойство
# ZAsRelative
C#
public bool ZAsRelative { get; set; }

Если true, конечный Z-индекс этого узла относится к Z-индексу его родителя. Например, если CanvasItem.ZIndex равен 2, а конечный Z-индекс его родителя равен 3, то конечный Z-индекс этого узла будет равен 5 (2 + 3).

ZIndexСвойство
# ZIndex
C#
public int ZIndex { get; set; }

Последовательность, в которой этот узел нарисован. Узел с более высоким индексом Z будет показываться перед другими. Должно быть между RenderingServer.CanvasItemZMin и RenderingServer.CanvasItemZMax (включено). Примечание: Индекс Z Нет влияет на порядок, в котором CanvasItem Это особенно важно иметь в виду для Control узлы.

Методы114

DrawAnimationSlicevoid
# DrawAnimationSlice
C#
public void DrawAnimationSlice(double animationLength, double sliceBegin, double sliceEnd, double offset = 0d);

Последующие команды рисования будут игнорироваться, если они не попадают в указанный фрагмент анимации. Это более быстрый способ реализовать анимацию, которая зацикливается на фоне, а не перерисовывается постоянно.

Параметры
ИмяТипПо умолчанию
animationLengthdouble—
sliceBegindouble—
sliceEnddouble—
offsetdouble0d
DrawArcvoid
# DrawArc
C#
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 Радианы, затем нарисована полная круговая дуга (т.е. дуга сама по себе не будет пересекаться).

Параметры
ИмяТипПо умолчанию
centerVector2—
radiusfloat—
startAnglefloat—
endAnglefloat—
pointCountint—
colorColor—
widthfloat-1f
antialiasedboolfalse
DrawChar2 перегрузки
# DrawChar · 1/2
C#
public void DrawChar(Font font, Vector2 pos, string @char, int fontSize, Color? modulate);

Рисует первый символ строки, используя пользовательский шрифт. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра. pos определяется в локальном пространстве.

Параметры
ИмяТипПо умолчанию
fontFont—
posVector2—
charstring—
fontSizeint—
modulateColor?—
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

# DrawChar · 2/2
C#
public void DrawChar(Font font, Vector2 pos, string @char, int fontSize = 16, Color? modulate = default, float oversampling = 0f);

Рисует первый символ строки, используя пользовательский шрифт. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра. pos определяется в локальном пространстве.

Параметры
ИмяТипПо умолчанию
fontFont—
posVector2—
charstring—
fontSizeint16
modulateColor?default
oversamplingfloat0f
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

DrawCharOutline2 перегрузки
# DrawCharOutline · 1/2
C#
public void DrawCharOutline(Font font, Vector2 pos, string @char, int fontSize, int size, Color? modulate);

Рисует контур первого символа строки, используя заданный шрифт. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра. pos определяется в локальном пространстве.

Параметры
ИмяТипПо умолчанию
fontFont—
posVector2—
charstring—
fontSizeint—
sizeint—
modulateColor?—
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

# DrawCharOutline · 2/2
C#
public void DrawCharOutline(Font font, Vector2 pos, string @char, int fontSize = 16, int size = -1, Color? modulate = default, float oversampling = 0f);

Рисует контур первого символа строки, используя заданный шрифт. Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра. pos определяется в локальном пространстве.

Параметры
ИмяТипПо умолчанию
fontFont—
posVector2—
charstring—
fontSizeint16
sizeint-1
modulateColor?default
oversamplingfloat0f
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

DrawCircle2 перегрузки
# DrawCircle · 1/2
C#
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.

Параметры
ИмяТипПо умолчанию
positionVector2—
radiusfloat—
colorColor—
# DrawCircle · 2/2
C#
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.

Параметры
ИмяТипПо умолчанию
positionVector2—
radiusfloat—
colorColor—
filledbooltrue
widthfloat-1f
antialiasedboolfalse
DrawColoredPolygon2 перегрузки
# DrawColoredPolygon · 1/2
C#
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#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
pointsVector2[]—
colorColor—
uvsVector2[]null
textureTexture2Dnull
uvs

Если параметр не имеет значения, то значение по умолчанию: Array.Empty<Vector2>().

# DrawColoredPolygon · 2/2
C#
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#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
pointsReadOnlySpan<Vector2>—
colorColor—
uvsReadOnlySpan<Vector2>—
textureTexture2D—
DrawDashedLine2 перегрузки
# DrawDashedLine · 1/2
C#
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.

Параметры
ИмяТипПо умолчанию
fromVector2—
toVector2—
colorColor—
widthfloat—
dashfloat—
alignedbool—
# DrawDashedLine · 2/2
C#
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.

Параметры
ИмяТипПо умолчанию
fromVector2—
toVector2—
colorColor—
widthfloat-1f
dashfloat2f
alignedbooltrue
antialiasedboolfalse
DrawEllipsevoid
# DrawEllipse
C#
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.

Параметры
ИмяТипПо умолчанию
positionVector2—
majorfloat—
minorfloat—
colorColor—
filledbooltrue
widthfloat-1f
antialiasedboolfalse
DrawEllipseArcvoid
# DrawEllipseArc
C#
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 Радианы, затем нарисована полная эллипса (т.е. дуга не будет перекрывать себя).

Параметры
ИмяТипПо умолчанию
centerVector2—
majorfloat—
minorfloat—
startAnglefloat—
endAnglefloat—
pointCountint—
colorColor—
widthfloat-1f
antialiasedboolfalse
DrawEndAnimationvoid
# DrawEndAnimation
C#
public void DrawEndAnimation();

После отправки всех фрагментов анимации через CanvasItem.DrawAnimationSlice эта функция может быть использована для возврата рисования в состояние по умолчанию (все последующие команды рисования будут видны). Если вас не интересует этот конкретный вариант использования, использование этой функции после отправки фрагментов не требуется.

DrawLcdTextureRectRegionvoid
# DrawLcdTextureRectRegion
C#
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#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
textureTexture2D—
rectRect2—
srcRectRect2—
modulateColor?default
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

DrawLinevoid
# DrawLine
C#
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.

Параметры
ИмяТипПо умолчанию
fromVector2—
toVector2—
colorColor—
widthfloat-1f
antialiasedboolfalse
DrawMeshvoid
# DrawMesh
C#
public void DrawMesh(Mesh mesh, Texture2D texture, Transform2D? transform = default, Color? modulate = default);

Рисует a Mesh в 2D с использованием предусмотренной текстуры. MeshInstance2D для соответствующей документации. transform определяется в местном пространстве. Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
meshMesh—
textureTexture2D—
transformTransform2D?default
modulateColor?default
transform

Если параметр не имеет значения, то значение по умолчанию: Transform2D.Identity.

modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

DrawMsdfTextureRectRegionvoid
# DrawMsdfTextureRectRegion
C#
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#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
textureTexture2D—
rectRect2—
srcRectRect2—
modulateColor?default
outlinedouble0d
pixelRangedouble4d
scaledouble1d
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

DrawMultiline4 перегрузки
# DrawMultiline · 1/4
C#
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`.

Параметры
ИмяТипПо умолчанию
pointsVector2[]—
colorColor—
widthfloat—
# DrawMultiline · 2/4
C#
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`.

Параметры
ИмяТипПо умолчанию
pointsVector2[]—
colorColor—
widthfloat-1f
antialiasedboolfalse
# DrawMultiline · 3/4
C#
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`.

Параметры
ИмяТипПо умолчанию
pointsReadOnlySpan<Vector2>—
colorColor—
widthfloat—
# DrawMultiline · 4/4
C#
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`.

Параметры
ИмяТипПо умолчанию
pointsReadOnlySpan<Vector2>—
colorColor—
widthfloat—
antialiasedbool—
DrawMultilineColors4 перегрузки
# DrawMultilineColors · 1/4
C#
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`.

Параметры
ИмяТипПо умолчанию
pointsVector2[]—
colorsColor[]—
widthfloat—
# DrawMultilineColors · 2/4
C#
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`.

Параметры
ИмяТипПо умолчанию
pointsVector2[]—
colorsColor[]—
widthfloat-1f
antialiasedboolfalse
# DrawMultilineColors · 3/4
C#
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`.

Параметры
ИмяТипПо умолчанию
pointsReadOnlySpan<Vector2>—
colorsReadOnlySpan<Color>—
widthfloat—
# DrawMultilineColors · 4/4
C#
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`.

Параметры
ИмяТипПо умолчанию
pointsReadOnlySpan<Vector2>—
colorsReadOnlySpan<Color>—
widthfloat—
antialiasedbool—
DrawMultilineString2 перегрузки
# DrawMultilineString · 1/2
C#
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 больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.

Параметры
ИмяТипПо умолчанию
fontFont—
posVector2—
textstring—
alignmentHorizontalAlignment—
widthfloat—
fontSizeint—
maxLinesint—
modulateColor?—
brkFlagsTextServer.LineBreakFlag—
justificationFlagsTextServer.JustificationFlag—
directionTextServer.Direction—
orientationTextServer.Orientation—
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

# DrawMultilineString · 2/2
C#
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 больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.

Параметры
ИмяТипПо умолчанию
fontFont—
posVector2—
textstring—
alignmentHorizontalAlignmentHorizontalAlignment.Left
widthfloat-1f
fontSizeint16
maxLinesint-1
modulateColor?default
brkFlagsTextServer.LineBreakFlagTextServer.LineBreakFlag.Mandatory | TextServer.LineBreakFlag.WordBound
justificationFlagsTextServer.JustificationFlagTextServer.JustificationFlag.Kashida | TextServer.JustificationFlag.WordBound
directionTextServer.DirectionTextServer.Direction.Auto
orientationTextServer.OrientationTextServer.Orientation.Horizontal
oversamplingfloat0f
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

DrawMultilineStringOutline2 перегрузки
# DrawMultilineStringOutline · 1/2
C#
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 больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.

Параметры
ИмяТипПо умолчанию
fontFont—
posVector2—
textstring—
alignmentHorizontalAlignment—
widthfloat—
fontSizeint—
maxLinesint—
sizeint—
modulateColor?—
brkFlagsTextServer.LineBreakFlag—
justificationFlagsTextServer.JustificationFlag—
directionTextServer.Direction—
orientationTextServer.Orientation—
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

# DrawMultilineStringOutline · 2/2
C#
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 больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.

Параметры
ИмяТипПо умолчанию
fontFont—
posVector2—
textstring—
alignmentHorizontalAlignmentHorizontalAlignment.Left
widthfloat-1f
fontSizeint16
maxLinesint-1
sizeint1
modulateColor?default
brkFlagsTextServer.LineBreakFlagTextServer.LineBreakFlag.Mandatory | TextServer.LineBreakFlag.WordBound
justificationFlagsTextServer.JustificationFlagTextServer.JustificationFlag.Kashida | TextServer.JustificationFlag.WordBound
directionTextServer.DirectionTextServer.Direction.Auto
orientationTextServer.OrientationTextServer.Orientation.Horizontal
oversamplingfloat0f
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

DrawMultimeshvoid
# DrawMultimesh
C#
public void DrawMultimesh(MultiMesh multimesh, Texture2D texture);

Рисует a MultiMesh в 2D с представленной текстурой. MultiMeshInstance2D для соответствующей документации. Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
multimeshMultiMesh—
textureTexture2D—
DrawPolygon2 перегрузки
# DrawPolygon · 1/2
C#
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#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
pointsVector2[]—
colorsColor[]—
uvsVector2[]null
textureTexture2Dnull
uvs

Если параметр не имеет значения, то значение по умолчанию: Array.Empty<Vector2>().

# DrawPolygon · 2/2
C#
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#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
pointsReadOnlySpan<Vector2>—
colorsReadOnlySpan<Color>—
uvsReadOnlySpan<Vector2>—
textureTexture2D—
DrawPolyline2 перегрузки
# DrawPolyline · 1/2
C#
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.

Параметры
ИмяТипПо умолчанию
pointsVector2[]—
colorColor—
widthfloat-1f
antialiasedboolfalse
# DrawPolyline · 2/2
C#
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.

Параметры
ИмяТипПо умолчанию
pointsReadOnlySpan<Vector2>—
colorColor—
widthfloat—
antialiasedbool—
DrawPolylineColors2 перегрузки
# DrawPolylineColors · 1/2
C#
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.

Параметры
ИмяТипПо умолчанию
pointsVector2[]—
colorsColor[]—
widthfloat-1f
antialiasedboolfalse
# DrawPolylineColors · 2/2
C#
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.

Параметры
ИмяТипПо умолчанию
pointsReadOnlySpan<Vector2>—
colorsReadOnlySpan<Color>—
widthfloat—
antialiasedbool—
DrawPrimitive2 перегрузки
# DrawPrimitive · 1/2
C#
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#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
pointsVector2[]—
colorsColor[]—
uvsVector2[]—
textureTexture2Dnull
# DrawPrimitive · 2/2
C#
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#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
pointsReadOnlySpan<Vector2>—
colorsReadOnlySpan<Color>—
uvsReadOnlySpan<Vector2>—
textureTexture2D—
DrawRect2 перегрузки
# DrawRect · 1/2
C#
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).

Параметры
ИмяТипПо умолчанию
rectRect2—
colorColor—
filledbool—
widthfloat—
# DrawRect · 2/2
C#
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).

Параметры
ИмяТипПо умолчанию
rectRect2—
colorColor—
filledbooltrue
widthfloat-1f
antialiasedboolfalse
DrawSetTransformvoid
# DrawSetTransform
C#
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 можно включить в инспекторе.

Параметры
ИмяТипПо умолчанию
positionVector2—
rotationfloat0f
scaleVector2?default
scale

Если параметр не имеет значения, то значение по умолчанию: new Vector2(1.0f, 1.0f).

DrawSetTransformMatrixvoid
# DrawSetTransformMatrix
C#
public void DrawSetTransformMatrix(Transform2D xform);

Задаёт локальное преобразование для рисования через матрицу. Всё, что будет отрисовано после этого, будет преобразовано этим преобразованием.

Параметры
ИмяТипПо умолчанию
xformTransform2D—
DrawString2 перегрузки
# DrawString · 1/2
C#
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 больше нуля, он используется в качестве коэффициента передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра. Пример: Рисует «Приветствую мир», используя шрифт по умолчанию проекта:

C#
DrawString(ThemeDB.FallbackFont, new Vector2(64, 64), "Hello world", HorizontalAlignment.Left, -1, ThemeDB.FallbackFontSize);

См. также Font.DrawString.

Параметры
ИмяТипПо умолчанию
fontFont—
posVector2—
textstring—
alignmentHorizontalAlignment—
widthfloat—
fontSizeint—
modulateColor?—
justificationFlagsTextServer.JustificationFlag—
directionTextServer.Direction—
orientationTextServer.Orientation—
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

# DrawString · 2/2
C#
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 больше нуля, он используется в качестве коэффициента передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра. Пример: Рисует «Приветствую мир», используя шрифт по умолчанию проекта:

C#
DrawString(ThemeDB.FallbackFont, new Vector2(64, 64), "Hello world", HorizontalAlignment.Left, -1, ThemeDB.FallbackFontSize);

См. также Font.DrawString.

Параметры
ИмяТипПо умолчанию
fontFont—
posVector2—
textstring—
alignmentHorizontalAlignmentHorizontalAlignment.Left
widthfloat-1f
fontSizeint16
modulateColor?default
justificationFlagsTextServer.JustificationFlagTextServer.JustificationFlag.Kashida | TextServer.JustificationFlag.WordBound
directionTextServer.DirectionTextServer.Direction.Auto
orientationTextServer.OrientationTextServer.Orientation.Horizontal
oversamplingfloat0f
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

DrawStringOutline2 перегрузки
# DrawStringOutline · 1/2
C#
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 больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.

Параметры
ИмяТипПо умолчанию
fontFont—
posVector2—
textstring—
alignmentHorizontalAlignment—
widthfloat—
fontSizeint—
sizeint—
modulateColor?—
justificationFlagsTextServer.JustificationFlag—
directionTextServer.Direction—
orientationTextServer.Orientation—
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

# DrawStringOutline · 2/2
C#
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 больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.

Параметры
ИмяТипПо умолчанию
fontFont—
posVector2—
textstring—
alignmentHorizontalAlignmentHorizontalAlignment.Left
widthfloat-1f
fontSizeint16
sizeint1
modulateColor?default
justificationFlagsTextServer.JustificationFlagTextServer.JustificationFlag.Kashida | TextServer.JustificationFlag.WordBound
directionTextServer.DirectionTextServer.Direction.Auto
orientationTextServer.OrientationTextServer.Orientation.Horizontal
oversamplingfloat0f
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

DrawStyleBoxvoid
# DrawStyleBox
C#
public void DrawStyleBox(StyleBox styleBox, Rect2 rect);

Нарисует прямоугольник в стиле. rect определяется в местном пространстве. Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
styleBoxStyleBox—
rectRect2—
DrawTexturevoid
# DrawTexture
C#
public void DrawTexture(Texture2D texture, Vector2 position, Color? modulate = default);

Нарисовывает текстуру в данном положении. position определяется в местном пространстве. Примечание: Стильные ящики, текстуры и мухи, хранящиеся только внутри местных переменных Нет Используйте этот метод в C#, потому что операция по рисованию не начинается сразу же после вызова этого метода. В C#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
textureTexture2D—
positionVector2—
modulateColor?default
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

DrawTextureRectvoid
# DrawTextureRect
C#
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#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
textureTexture2D—
rectRect2—
tilebool—
modulateColor?default
transposeboolfalse
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

DrawTextureRectRegionvoid
# DrawTextureRectRegion
C#
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#, когда функция с местными переменными заканчивается, местные переменные уничтожаются до того, как будет произведен перевод.

Параметры
ИмяТипПо умолчанию
textureTexture2D—
rectRect2—
srcRectRect2—
modulateColor?default
transposeboolfalse
clipUVbooltrue
modulate

Если параметр не имеет значения, то значение по умолчанию: new Color(1.0f, 1.0f, 1.0f, 1.0f).

ForceUpdateTransformvoid
# ForceUpdateTransform
C#
public void ForceUpdateTransform();

Заставляет обновить преобразование узла. Не удается, если узел не находится внутри дерева. См. также CanvasItem.GetTransform. Примечание: Из соображений производительности изменения преобразования обычно накапливаются и применяются один раз в конце кадра. Обновление также распространяется на дочерние элементы CanvasItem. Поэтому используйте этот метод только тогда, когда вам нужно актуальное преобразование (например, во время физических операций).

GetCanvasRid
# GetCanvas
C#
public Rid GetCanvas();

Возвращает Rid холста World2D, на котором зарегистрирован этот узел, используемый в RenderingServer.

Возвращает Rid
GetCanvasItemRid
# GetCanvasItem
C#
public Rid GetCanvasItem();

Возвращает внутренний элемент холста Rid, используемый в RenderingServer для этого узла.

Возвращает Rid
GetCanvasLayerEntityCanvasLayer
# GetCanvasLayerEntity
C#
public CanvasLayer GetCanvasLayerEntity();

Возвращает CanvasLayer, содержащий этот узел, или null, если узел не находится ни в одном CanvasLayer.

Возвращает CanvasLayer
GetCanvasTransformTransform2D
# GetCanvasTransform
C#
public Transform2D GetCanvasTransform();

Возвращает действующее преобразование canvas: итоговое преобразование CanvasLayer либо CanvasTransform viewport. Требует нахождения в дереве; не включает локальное преобразование самого элемента и конечное растяжение окна.

Возвращает Transform2D

Действующее преобразование canvas без локальной матрицы элемента.

GetClipChildrenModeCanvasItem.ClipChildrenMode
# GetClipChildrenMode
C#
public CanvasItem.ClipChildrenMode GetClipChildrenMode();
Возвращает CanvasItem.ClipChildrenMode
GetGlobalMousePositionVector2
# GetGlobalMousePosition
C#
public Vector2 GetGlobalMousePosition();

Возвращает глобальную позицию курсора мыши относительно CanvasLayer, содержащего этот узел. Примечание: Для координат экранного пространства (например, при использовании невстроенного Popup) можно использовать DisplayServer.MouseGetPosition.

Возвращает Vector2
GetGlobalTransformTransform2D
# GetGlobalTransform
C#
public Transform2D GetGlobalTransform();

Возвращает глобальную матрицу преобразования этого элемента, т. е. объединенное преобразование до самого верхнего узла CanvasItem. Самый верхний элемент — это CanvasItem, у которого либо нет родителя, либо есть родитель, отличный от CanvasItem, либо включен CanvasItem.TopLevel.

Возвращает Transform2D
GetGlobalTransformWithCanvasTransform2D
# GetGlobalTransformWithCanvas
C#
public Transform2D GetGlobalTransformWithCanvas();

Составляет преобразование из локальной системы CanvasItem в canvas/viewport с учётом родительской иерархии и CanvasLayer либо canvas viewport. Для точки из того же viewport обратная матрица даёт локальные координаты при обратимом преобразовании.

Возвращает Transform2D

Transform2D составного преобразования. Для объекта вне дерева без CanvasLayer используется только глобальное преобразование объекта; это не полноценная привязка к будущему viewport.

GetInstanceShaderParameterVariant
# GetInstanceShaderParameter
C#
public Variant GetInstanceShaderParameter(StringName name);

Читает текущее значение реестра экземпляра CanvasItem. После подготовки материалов и сброса через Nil доступен объявленный default; для отсутствующей записи возвращается Nil. Не путайте с параметром общего ShaderMaterial.

Параметры
ИмяТипПо умолчанию
nameStringName—
name

Точное имя параметра с учётом регистра.

Возвращает Variant

Текущее известное значение экземпляра либо Nil.

GetLightMaskint
# GetLightMask
C#
public int GetLightMask();
Возвращает int
GetLocalMousePositionVector2
# GetLocalMousePosition
C#
public Vector2 GetLocalMousePosition();

Возвращает положение мыши в этом CanvasItem, используя локальную систему координат этого CanvasItem.

Возвращает Vector2
GetMaterialMaterial
# GetMaterial
C#
public Material GetMaterial();

Возвращает собственный назначенный ресурс. Это не вычисление эффективного материала с учётом UseParentMaterial.

Возвращает Material

Собственный Material или null. Проверьте UseParentMaterial, если ресурс читается правильно, а изображение использует другие настройки.

GetModulateColor
# GetModulate
C#
public Color GetModulate();
Возвращает Color
GetOversamplingWithScaleCanvasItem.OversamplingWithScaleEnum
# GetOversamplingWithScale
C#
public CanvasItem.OversamplingWithScaleEnum GetOversamplingWithScale();
Возвращает CanvasItem.OversamplingWithScaleEnum
GetScreenTransformTransform2D
# GetScreenTransform
C#
public Transform2D GetScreenTransform();

Возвращает преобразование этого CanvasItem в глобальных экранных координатах (т. е. с учетом положения окна). В основном полезно для плагинов редактора. Эквивалентно CanvasItem.GetGlobalTransformWithCanvas, если окно встроено (см. Viewport.GuiEmbedSubwindows).

Возвращает Transform2D
GetSelfModulateColor
# GetSelfModulate
C#
public Color GetSelfModulate();
Возвращает Color
GetTextureFilterCanvasItem.TextureFilterEnum
# GetTextureFilter
C#
public CanvasItem.TextureFilterEnum GetTextureFilter();

Читает заданную политику элемента. Может вернуть ParentNode: это не вычисленное имя фильтра после разрешения всей цепочки наследования.

Возвращает CanvasItem.TextureFilterEnum

Сохранённый TextureFilterEnum. Наличие mipmap-режима не доказывает, что данные конкретной текстуры содержат mipmaps.

GetTextureRepeatCanvasItem.TextureRepeatEnum
# GetTextureRepeat
C#
public CanvasItem.TextureRepeatEnum GetTextureRepeat();
Возвращает CanvasItem.TextureRepeatEnum
GetTransformTransform2D
# GetTransform
C#
public Transform2D GetTransform();

Возвращает матрицу преобразования этого CanvasItem.

Возвращает Transform2D
GetUseParentMaterialbool
# GetUseParentMaterial
C#
public bool GetUseParentMaterial();

Читает флаг выбора родительского материала, не сам материал.

Возвращает bool

Текущее значение UseParentMaterial. Для своего назначенного ресурса используйте GetMaterial.

GetViewportRectRect2
# GetViewportRect
C#
public Rect2 GetViewportRect();

Возвращает границы области просмотра этого узла как Rect2. См. также Entity.GetViewport.

Возвращает Rect2
GetViewportTransformTransform2D
# GetViewportTransform
C#
public Transform2D GetViewportTransform();

Возвращает преобразование этого узла, преобразованное из зарегистрированной системы координат холста в систему координат его вьюпорта-эмбеддера. См. также Viewport.GetFinalTransform и Entity.GetViewport.

Возвращает Transform2D
GetVisibilityLayeruint
# GetVisibilityLayer
C#
public uint GetVisibilityLayer();
Возвращает uint
GetVisibilityLayerBitbool
# GetVisibilityLayerBit
C#
public bool GetVisibilityLayerBit(uint layer);

Returns (Возврат) true если слой при данном индексе установлен в CanvasItem.VisibilityLayer.

Параметры
ИмяТипПо умолчанию
layeruint—
Возвращает bool
GetWorld2DWorld2D
# GetWorld2D
C#
public World2D GetWorld2D();

Возвращает World2D, в котором зарегистрирован этот узел. Обычно это то же самое, что и область просмотра этого узла (см. Entity.GetViewport и Viewport.FindWorld2D).

Спрячься.

Возвращает World2D
GetZIndexint
# GetZIndex
C#
public int GetZIndex();
Возвращает int
Hidevoid
# Hide
C#
public void Hide();

Скрыть CanvasItem, если он в данный момент виден. Это эквивалентно установке CanvasItem.Visible на false.

IsDrawBehindParentEnabledbool
# IsDrawBehindParentEnabled
C#
public bool IsDrawBehindParentEnabled();
Возвращает bool
IsLocalTransformNotificationEnabledbool
# IsLocalTransformNotificationEnabled
C#
public bool IsLocalTransformNotificationEnabled();

Возвращает true, если узел получает CanvasItem.NotificationLocalTransformChanged всякий раз, когда изменяется его локальное преобразование. Это включается с помощью CanvasItem.SetNotifyLocalTransform.

Возвращает bool
IsSetAsTopLevelbool
# IsSetAsTopLevel
C#
public bool IsSetAsTopLevel();
Возвращает bool
IsTransformNotificationEnabledbool
# IsTransformNotificationEnabled
C#
public bool IsTransformNotificationEnabled();

Возвращает true, если узел получает CanvasItem.NotificationTransformChanged всякий раз, когда изменяется его глобальное преобразование. Это включается с помощью CanvasItem.SetNotifyTransform.

Возвращает bool
IsVisiblebool
# IsVisible
C#
public bool IsVisible();
Возвращает bool
IsVisibleInTreebool
# IsVisibleInTree
C#
public bool IsVisibleInTree();

Returns (Возврат) true если узел присутствует в EntityTree, его CanvasItem.Visible имущество true И все предки его также видны. Если кто-либо из предков спрятан, то этот узел не будет виден на дереве сцены и поэтому не будет нарисован (см. CanvasItem.Draw). Видимость проверяется только в материнских узлах, которые унаследованы от CanvasItem, CanvasLayer, и WindowЕсли родитель принадлежит к какому-либо другому типу (например, Entity, AnimationPlayerили Entity3D), предполагается, что он является видимым. Примечание: Этот метод не используется CanvasItem.VisibilityLayer в расчет, так что даже если этот метод возвращает true, узел может оказаться не переведенным.

Возвращает bool
IsYSortEnabledbool
# IsYSortEnabled
C#
public bool IsYSortEnabled();
Возвращает bool
IsZRelativebool
# IsZRelative
C#
public bool IsZRelative();
Возвращает bool
MakeCanvasPositionLocalVector2
# MakeCanvasPositionLocal
C#
public Vector2 MakeCanvasPositionLocal(Vector2 viewportPoint);

Переводит логическую точку viewport в локальные координаты элемента, обращая произведение преобразования canvas и GlobalTransform. Требует нахождения в дереве и обратимого базиса; вход не должен быть позицией экрана ОС.

Параметры
ИмяТипПо умолчанию
viewportPointVector2—
viewportPoint

Логическая точка того же viewport на этапе canvas.

Возвращает Vector2

Точка в локальной системе элемента.

MakeInputLocalInputEvent
# MakeInputLocal
C#
public InputEvent MakeInputLocal(InputEvent @event);

Возвращает событие с применённым обратным преобразованием canvas и элемента; исходное событие не изменяет. Используйте для ввода в логических координатах того же viewport, не для уже локальных координат обработчика GUI. Требует нахождения в дереве и обратимого базиса.

Параметры
ИмяТипПо умолчанию
eventInputEvent—
event

Событие в логических координатах того же viewport; исходный объект сохраняется.

Возвращает InputEvent

Преобразованное событие; исходное событие остаётся без изменений.

MoveToFrontvoid
# MoveToFront
C#
public void MoveToFront();

Перемещает этот узел ниже его братьев и сестер, обычно заставляя узел рисоваться поверх своих братьев и сестер. Ничего не делает, если у этого узла нет родителя. См. также Entity.MoveChild.

QueueRedrawvoid
# QueueRedraw
C#
public void QueueRedraw();

Ставит в очередь CanvasItem для перерисовки. Во время простоя, если CanvasItem виден, отправляется CanvasItem.NotificationDraw и вызывается CanvasItem.Draw. Это происходит только один раз за кадр, даже если этот метод вызывался несколько раз.

SetAsTopLevelvoid
# SetAsTopLevel
C#
public void SetAsTopLevel(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetClipChildrenModevoid
# SetClipChildrenMode
C#
public void SetClipChildrenMode(CanvasItem.ClipChildrenMode mode);
Параметры
ИмяТипПо умолчанию
modeCanvasItem.ClipChildrenMode—
SetDrawBehindParentvoid
# SetDrawBehindParent
C#
public void SetDrawBehindParent(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetInstanceShaderParametervoid
# SetInstanceShaderParameter
C#
public void SetInstanceShaderParameter(StringName name, Variant value);

Задаёт uniform экземпляра для одного CanvasItem без копирования общего материала. Nil разрешает и устанавливает объявленное значение по умолчанию. Имя и тип должны соответствовать instance uniform шейдера.

Параметры
ИмяТипПо умолчанию
nameStringName—
valueVariant—
name

Точное имя параметра с учётом регистра.

value

Значение объявленного instance-типа; Nil восстанавливает объявленный default.

SetLightMaskvoid
# SetLightMask
C#
public void SetLightMask(int lightMask);
Параметры
ИмяТипПо умолчанию
lightMaskint—
SetMaterialvoid
# SetMaterial
C#
public void SetMaterial(Material material);

Назначает собственный материал элемента. При UseParentMaterial=true он не определяет текущий вид: сначала проверьте наследование. null снимает собственное назначение.

Параметры
ИмяТипПо умолчанию
materialMaterial—
material

Подходящий 2D Material или null. Для текстового shader используйте ShaderMaterial с shader_type canvas_item.

SetModulatevoid
# SetModulate
C#
public void SetModulate(Color modulate);
Параметры
ИмяТипПо умолчанию
modulateColor—
SetNotifyLocalTransformvoid
# SetNotifyLocalTransform
C#
public void SetNotifyLocalTransform(bool enable);

Если true, узел будет получать CanvasItem.NotificationLocalTransformChanged всякий раз, когда его локальное преобразование изменяется. Примечание: Многие элементы холста, такие как Bone2D или CollisionShape2D, автоматически включают это для правильной работы.

Параметры
ИмяТипПо умолчанию
enablebool—
SetNotifyTransformvoid
# SetNotifyTransform
C#
public void SetNotifyTransform(bool enable);

Если true, узел будет получать CanvasItem.NotificationTransformChanged всякий раз, когда изменяется его глобальное преобразование. Примечание: Многие элементы холста, такие как Camera2D или Light2D, автоматически включают эту функцию для корректной работы.

Параметры
ИмяТипПо умолчанию
enablebool—
SetOversamplingWithScalevoid
# SetOversamplingWithScale
C#
public void SetOversamplingWithScale(CanvasItem.OversamplingWithScaleEnum enabled);
Параметры
ИмяТипПо умолчанию
enabledCanvasItem.OversamplingWithScaleEnum—
SetSelfModulatevoid
# SetSelfModulate
C#
public void SetSelfModulate(Color selfModulate);
Параметры
ИмяТипПо умолчанию
selfModulateColor—
SetTextureFiltervoid
# SetTextureFilter
C#
public void SetTextureFilter(CanvasItem.TextureFilterEnum mode);

Задаёт политику фильтрации 2D-текстур и обновляет её наследование. Для пиксельной графики обычно нужна Nearest, для уменьшенной фотографии — линейная фильтрация с заранее подготовленными mipmaps. Выбор зависит от ассета, а не от правила «везде максимум».

Параметры
ИмяТипПо умолчанию
modeCanvasItem.TextureFilterEnum—
mode

Значение TextureFilterEnum. ParentNode означает наследование; Max — ограничитель перечисления, не режим фильтрации.

SetTextureRepeatvoid
# SetTextureRepeat
C#
public void SetTextureRepeat(CanvasItem.TextureRepeatEnum mode);
Параметры
ИмяТипПо умолчанию
modeCanvasItem.TextureRepeatEnum—
SetUseParentMaterialvoid
# SetUseParentMaterial
C#
public void SetUseParentMaterial(bool enable);

Переключает выбор родительского материала при рисовании. Не удаляет собственный Material и не копирует значения uniform между ресурсами.

Параметры
ИмяТипПо умолчанию
enablebool—
enable

true выбирает родительский материал; false возвращает использование собственного назначения.

SetVisibilityLayervoid
# SetVisibilityLayer
C#
public void SetVisibilityLayer(uint layer);
Параметры
ИмяТипПо умолчанию
layeruint—
SetVisibilityLayerBitvoid
# SetVisibilityLayerBit
C#
public void SetVisibilityLayerBit(uint layer, bool enabled);

Установить/чистить отдельные биты на слое изображения (layer между 0 и 31Это упрощает редактирование этого текста. CanvasItem"слой видимости по сравнению с присвоением CanvasItem.VisibilityLayer - свойство - напрямую.

Параметры
ИмяТипПо умолчанию
layeruint—
enabledbool—
SetVisiblevoid
# SetVisible
C#
public void SetVisible(bool visible);
Параметры
ИмяТипПо умолчанию
visiblebool—
SetYSortEnabledvoid
# SetYSortEnabled
C#
public void SetYSortEnabled(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetZAsRelativevoid
# SetZAsRelative
C#
public void SetZAsRelative(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetZIndexvoid
# SetZIndex
C#
public void SetZIndex(int zIndex);
Параметры
ИмяТипПо умолчанию
zIndexint—
Showvoid
# Show
C#
public void Show();

Показывать CanvasItem, если он в данный момент скрыт. Это эквивалентно установке CanvasItem.Visible на true. Примечание: Для элементов управления, которые наследуют Popup, правильный способ сделать их видимыми — вызвать одну из нескольких функций popup*().

_Drawvoid
# _Draw
C#
public virtual void _Draw();

Вызывается, когда CanvasItem был запрошен для перерисовки (после вызова CanvasItem.QueueRedraw, вручную или движком). Соответствует уведомлению CanvasItem.NotificationDraw в ReckfellObject.Notification.

Сигналы и события4

DrawСобытие
# Draw
C#
public event Action Draw;

Вызывается, когда CanvasItem был запрошен для перерисовки (после вызова CanvasItem.QueueRedraw, вручную или движком). Соответствует уведомлению CanvasItem.NotificationDraw в ReckfellObject.Notification.

HiddenСобытие
# Hidden
C#
public event Action Hidden;

Выдается, когда этот узел становится скрытым, т.е. он больше не виден в дереве (см. CanvasItem.IsVisibleInTree).

ItemRectChangedСобытие
# ItemRectChanged
C#
public event Action ItemRectChanged;

Вызывается при изменении границ CanvasItem (положения или размера) или при выполнении действия, которое могло повлиять на эти границы (например, изменение Sprite2D.Texture).

VisibilityChangedСобытие
# VisibilityChanged
C#
public event Action VisibilityChanged;

Выдается при изменении видимости CanvasItem, либо из-за изменения его собственного свойства CanvasItem.Visible, либо из-за изменения его видимости в дереве (см. CanvasItem.IsVisibleInTree). Этот сигнал выдается после связанного уведомления CanvasItem.NotificationVisibilityChanged.

Поля и константы7

NotificationDrawПоле
# NotificationDraw
C#
public const long NotificationDraw = 30;

CanvasItem запрашивается для рисования (см. CanvasItem.Draw).

УВЕДОМЛЕНИЕ_ВИЗИТ_ ИЗМЕНЕНИЕ

NotificationEnterCanvasПоле
# NotificationEnterCanvas
C#
public const long NotificationEnterCanvas = 32;

CanvasItem вошел в холст.

УВЕДОМЛЕНИЕ_EXIT_CANVAS

NotificationExitCanvasПоле
# NotificationExitCanvas
C#
public const long NotificationExitCanvas = 33;

CanvasItem вышел за пределы холста. Это уведомление отправляется в обратном порядке.

NotificationLocalTransformChangedПоле
# NotificationLocalTransformChanged
C#
public const long NotificationLocalTransformChanged = 35;

Уведомление получено, когда изменяется преобразование этого узла, если CanvasItem.IsLocalTransformNotificationEnabled равно true. Это не получено, когда изменяется преобразование родительского Entity2D. См. также CanvasItem.SetNotifyLocalTransform. Примечание: Многие элементы холста, такие как Camera2D или CollisionShape2D, автоматически включают это для корректной работы.

УВЕДОМЛЕНИЕ

NotificationTransformChangedПоле
# NotificationTransformChanged
C#
public const long NotificationTransformChanged = 2000;

Уведомление получено, когда изменяется глобальное преобразование этого узла, если CanvasItem.IsTransformNotificationEnabled равно true. См. также CanvasItem.SetNotifyTransform и CanvasItem.GetTransform. Примечание: Многие элементы холста, такие как Camera2D или CollisionObject2D, автоматически включают это для корректной работы.

УВЕДОМЛЕНИЕ_LOCAL_TRANSFORM_ ИЗМЕНЕНИЕ

NotificationVisibilityChangedПоле
# NotificationVisibilityChanged
C#
public const long NotificationVisibilityChanged = 31;

Уведомление получено, когда видимость этого узла изменяется (см. CanvasItem.Visible и CanvasItem.IsVisibleInTree). Это уведомление получено до связанного сигнала CanvasItem.VisibilityChanged.

УВЕДОМЛЕНИЕ_ENTER_CANVAS

NotificationWorld2DChangedПоле
# NotificationWorld2DChanged
C#
public const long NotificationWorld2DChanged = 36;

Уведомление получено, когда этот CanvasItem зарегистрирован в новом World2D (см. CanvasItem.GetWorld2D).

CanvasItem.ClipChildrenMode

ЗначениеОписание
AndDraw = 2

Этот узел используется как маска и также рисуется. Маска основана на альфа-канале этого узла: непрозрачные пиксели сохраняются, прозрачные пиксели отбрасываются, а полупрозрачные пиксели смешиваются в соответствии с их непрозрачностью. Дочерние элементы обрезаются по рисуемой области родителя.

Disabled = 0

Дочерние элементы рисуются поверх этого узла и не обрезаются.

Max = 3

Представляет размер перечисления CanvasItem.ClipChildrenMode.

Only = 1

Этот узел используется как маска и не рисуется. Маска основана на альфа-канале этого узла: непрозрачные пиксели сохраняются, прозрачные пиксели отбрасываются, а полупрозрачные пиксели смешиваются в соответствии с их непрозрачностью. Потомки обрезаются по рисуемой области этого узла.

CanvasItem.OversamplingWithScaleEnum

ЗначениеОписание
Disabled = 1

Передискретизация не зависит от масштаба CanvasItem и равна передискретизации Viewport.

Enabled = 2

Передискретизация представляет собой произведение масштаба CanvasItem и передискретизации Viewport.

Max = 3

Представляет размер перечисления CanvasItem.OversamplingWithScaleEnum.

ParentNode = 0

Этот CanvasItem унаследует режим передискретизации от своего родительского объекта.

CanvasItem.TextureFilterEnum

ЗначениеОписание
Linear = 2

Фильтр текстуры смешивает ближайшие 4 пикселя. Это делает текстуру гладкой вблизи и зернистой на расстоянии (из-за того, что mip-карты не сэмплируются).

LinearWithMipmaps = 4

Фильтр текстуры смешивает ближайшие 4 пикселя и ближайшие 2 mip-карты (или использует ближайшую mip-карту, если ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter имеет значение true). Это делает текстуру гладкой вблизи и гладкой на расстоянии. Используйте это для текстур непиксельной графики, которые можно просматривать в низком масштабе (например, из-за масштабирования Camera2D или масштабирования спрайтов), поскольку mip-карты важны для сглаживания пикселей, которые меньше пикселей на экране.

LinearWithMipmapsAnisotropic = 6

Фильтр текстуры смешивает ближайшие 4 пикселя и смешивает 2 mip-карты (или использует ближайшую mip-карту, если ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter имеет значение true) на основе угла между поверхностью и видом камеры. Это делает текстуру гладкой вблизи и гладкой на расстоянии. Анизотропная фильтрация улучшает качество текстуры на поверхностях, которые почти совпадают с камерой, но немного медленнее. Уровень анизотропной фильтрации можно изменить, настроив ProjectSettings.rendering/textures/default_filters/anisotropic_filtering_level. Примечание: Этот фильтр текстуры редко полезен в 2D-проектах. CanvasItem.TextureFilterEnum.LinearWithMipmaps обычно более подходит в этом случае.

Max = 7

Представляет размер перечисления CanvasItem.TextureFilterEnum.

Nearest = 1

Фильтр текстуры считывает только ближайший пиксель. Это делает текстуру пикселизированной вблизи и зернистой на расстоянии (из-за того, что mip-карты не сэмплируются).

NearestWithMipmaps = 3

Фильтр текстуры считывает данные с ближайшего пикселя и смешивает данные между двумя ближайшими mip-картами (или использует ближайшую mip-карту, если ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter имеет значение true). Это делает текстуру пикселизированной вблизи и гладкой на расстоянии. Используйте это для текстур, не являющихся пиксельным искусством, которые можно просматривать в низком масштабе (например, из-за масштабирования Camera2D или масштабирования спрайтов), поскольку mip-карты важны для сглаживания пикселей, которые меньше пикселей на экране.

NearestWithMipmapsAnisotropic = 5

Текстурный фильтр считывает данные с ближайшего пикселя и смешивает два mip-текстурных отображения (или использует ближайшее mip-текстурное отображение, если ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter имеет значение true) на основе угла между поверхностью и видом камеры. Это делает текстуру пикселизированной вблизи и гладкой на расстоянии. Анизотропная фильтрация улучшает качество текстуры на поверхностях, которые почти совпадают с камерой, но работает немного медленнее. Уровень анизотропной фильтрации можно изменить, настроив ProjectSettings.rendering/textures/default_filters/anisotropic_filtering_level. Примечание: Этот текстурный фильтр редко бывает полезен в 2D-проектах. CanvasItem.TextureFilterEnum.NearestWithMipmaps обычно более подходит в этом случае.

ParentNode = 0

CanvasItem унаследует фильтр от своего родителя.

CanvasItem.TextureRepeatEnum

ЗначениеОписание
Disabled = 1

Текстура не повторяется. Выборка текстуры за пределами её границ приведёт к "растяжению" граничных пикселей. Этого можно избежать, обеспечив полностью прозрачную границу шириной в 1 пиксель с каждой стороны текстуры.

ТЕКСТУРЕ_РЕПИТ

Enabled = 2

Текстура повторяется при превышении размера текстуры.

Max = 4

Представляет размер перечисления CanvasItem.TextureRepeatEnum.

Mirror = 3

Текстура повторяется при превышении размера текстуры в "плиточном режиме 2×2". Повторяющиеся текстуры в четных позициях зеркально отражаются.

ParentNode = 0

CanvasItem наследует режим повторения от родительского узла.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.