Line2D
Двумерная полилиния, которую при желании можно текстурировать.
Двумерная полилиния, которую при желании можно текстурировать.
Этот узел рисует 2D-полилинию, т. е. фигуру, состоящую из нескольких точек, соединенных сегментами. Line2D не является математической полилинией, т. е. сегменты не бесконечно тонкие. Он предназначен для рендеринга и может быть окрашен и опционально текстурирован.
Предупреждение: Некоторые конфигурации может быть невозможно нарисовать красиво, например, очень острые углы. В таких ситуациях узел использует резервную логику рисования, чтобы выглядеть прилично.
Примечание: Line2D рисуется с использованием 2D-сетки.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
Line2DКонструктор
public Line2D();Свойства14
AntialiasedСвойство
public bool Antialiased { get; set; }Если true, граница полилинии будет сглажена.
Примечание: Line2D не ускоряется пакетированием при сглаживании.
BeginCapModeСвойство
public Line2D.LineCapMode BeginCapMode { get; set; }Стиль начала полилинии, если Line2D.Closed равен false.
ClosedСвойство
public bool Closed { get; set; }Если true и полилиния имеет более 2 точек, последняя точка и первая будут соединены сегментом.
Примечание: Форма замыкающего сегмента не гарантируется бесшовной, если указан Line2D.WidthCurve.
Примечание: Стык между замыкающим сегментом и первым сегментом рисуется первым, и он выбирает Line2D.Gradient и Line2D.WidthCurve в начале. Это деталь реализации, которая может измениться в будущей версии.
DefaultColorСвойство
public Color DefaultColor { get; set; }Цвет полилинии. Не будет использоваться, если задан градиент.
EndCapModeСвойство
public Line2D.LineCapMode EndCapMode { get; set; }Стиль окончания полилинии, если Line2D.Closed равен false.
GradientСвойство
public Gradient Gradient { get; set; }Градиент рисуется по всей линии от начала до конца. Line2D.DefaultColor не будет использоваться, если это свойство установлено.
JointModeСвойство
public Line2D.LineJointMode JointMode { get; set; }Стиль соединений между сегментами полилинии.
PointsСвойство
public Vector2[] Points { get; set; }Точки полилинии, интерпретированные в локальных 2D-координатах. Сегменты рисуются между соседними точками в этом массиве.
RoundPrecisionСвойство
public int RoundPrecision { get; set; }Гладкость, используемая для закругленных соединений и крышек. Более высокие значения приводят к более гладким углам, но более требовательны к визуализации и обновлению.
SharpLimitСвойство
public float SharpLimit { get; set; }Определяет предел скоса полилинии. Обычно, когда Line2D.JointMode установлен на Line2D.LineJointMode.Sharp, острые углы возвращаются к использованию логики соединений Line2D.LineJointMode.Bevel для предотвращения слишком длинных скосов. Более высокие значения этого свойства означают, что возврат к скошенному соединению произойдет при более острых углах.
TextureСвойство
public Texture2D Texture { get; set; }Текстура, используемая для полилинии. Использует Line2D.TextureMode для стиля рисования.
TextureModeСвойство
public Line2D.LineTextureMode TextureMode { get; set; }Стиль для визуализации Line2D.Texture полилинии.
WidthСвойство
public float Width { get; set; }Ширина полилинии.
WidthCurveСвойство
public Curve WidthCurve { get; set; }Кривая ширины полилинии. Ширина полилинии по ее длине будет эквивалентна значению кривой ширины по ее домену. Кривая ширины должна быть единицей Curve.
Методы35
AddPointvoid
public void AddPoint(Vector2 position, int index = -1);Добавляет точку с указанным position относительно собственного положения полилинии. Если index не указан, новая точка будет добавлена в конец массива точек.
Если указан index, новая точка вставляется перед существующей точкой, идентифицированной индексом index. Индексы точек после новой точки увеличиваются на 1. Предоставленный index не должен превышать количество существующих точек в полилинии. См. Line2D.GetPointCount.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
index | int | -1 |
ClearPointsvoid
public void ClearPoints();Удаляет все точки из полилинии, делая ее пустой.
GetAntialiasedbool
public bool GetAntialiased();boolGetBeginCapModeLine2D.LineCapMode
public Line2D.LineCapMode GetBeginCapMode();Line2D.LineCapModeGetCurveCurve
public Curve GetCurve();CurveGetDefaultColorColor
public Color GetDefaultColor();ColorGetEndCapModeLine2D.LineCapMode
public Line2D.LineCapMode GetEndCapMode();Line2D.LineCapModeGetGradientGradient
public Gradient GetGradient();GradientGetJointModeLine2D.LineJointMode
public Line2D.LineJointMode GetJointMode();Line2D.LineJointModeGetPointCountint
public int GetPointCount();Возвращает количество точек в полилинии.
intGetPointPositionVector2
public Vector2 GetPointPosition(int index);Возвращает положение точки с индексом index.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
Vector2GetPointsVector2[]
public Vector2[] GetPoints();Vector2[]GetRoundPrecisionint
public int GetRoundPrecision();intGetSharpLimitfloat
public float GetSharpLimit();floatGetTextureTexture2D
public Texture2D GetTexture();Texture2DGetTextureModeLine2D.LineTextureMode
public Line2D.LineTextureMode GetTextureMode();Line2D.LineTextureModeGetWidthfloat
public float GetWidth();floatIsClosedbool
public bool IsClosed();boolRemovePointvoid
public void RemovePoint(int index);Удаляет точку с индексом index из полилинии.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
SetAntialiasedvoid
public void SetAntialiased(bool antialiased);| Имя | Тип | По умолчанию |
|---|---|---|
antialiased | bool | — |
SetBeginCapModevoid
public void SetBeginCapMode(Line2D.LineCapMode mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | Line2D.LineCapMode | — |
SetClosedvoid
public void SetClosed(bool closed);| Имя | Тип | По умолчанию |
|---|---|---|
closed | bool | — |
SetCurvevoid
public void SetCurve(Curve curve);| Имя | Тип | По умолчанию |
|---|---|---|
curve | Curve | — |
SetDefaultColorvoid
public void SetDefaultColor(Color color);| Имя | Тип | По умолчанию |
|---|---|---|
color | Color | — |
SetEndCapModevoid
public void SetEndCapMode(Line2D.LineCapMode mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | Line2D.LineCapMode | — |
SetGradientvoid
public void SetGradient(Gradient color);| Имя | Тип | По умолчанию |
|---|---|---|
color | Gradient | — |
SetJointModevoid
public void SetJointMode(Line2D.LineJointMode mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | Line2D.LineJointMode | — |
SetPointPositionvoid
public void SetPointPosition(int index, Vector2 position);Заменяет позицию точки с указанным index на предоставленную position.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
position | Vector2 | — |
SetPoints2 перегрузки
public void SetPoints(Vector2[] points);| Имя | Тип | По умолчанию |
|---|---|---|
points | Vector2[] | — |
public void SetPoints(ReadOnlySpan<Vector2> points);| Имя | Тип | По умолчанию |
|---|---|---|
points | ReadOnlySpan<Vector2> | — |
SetRoundPrecisionvoid
public void SetRoundPrecision(int precision);| Имя | Тип | По умолчанию |
|---|---|---|
precision | int | — |
SetSharpLimitvoid
public void SetSharpLimit(float limit);| Имя | Тип | По умолчанию |
|---|---|---|
limit | float | — |
SetTexturevoid
public void SetTexture(Texture2D texture);| Имя | Тип | По умолчанию |
|---|---|---|
texture | Texture2D | — |
SetTextureModevoid
public void SetTextureMode(Line2D.LineTextureMode mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | Line2D.LineTextureMode | — |
SetWidthvoid
public void SetWidth(float width);| Имя | Тип | По умолчанию |
|---|---|---|
width | float | — |
Line2D.LineCapMode
Line2D.LineJointMode
| Значение | Описание |
|---|---|
Bevel = 1 | Делает стыки полилинии скошенными/скошенными, соединяя стороны двух сегментов простой линией. |
Round = 2 | Делает стыки полилинии скругленными, соединяя стороны двух сегментов дугой. Детализация этой дуги зависит от |
Sharp = 0 | Делает сочленения полилинии заостренными, соединяя стороны двух сегментов, удлиняя их до пересечения. Если вращение сочленения слишком велико (на основе |
Line2D.LineTextureMode
| Значение | Описание |
|---|---|
None = 0 | Берет левые пиксели текстуры и визуализирует их по всей полилинии. |
Stretch = 2 | Растягивает текстуру по полилинии. |
Tile = 1 | Размещает текстуру на полилинии. |