reckfellENGINE

Line2D

Двумерная полилиния, которую при желании можно текстурировать.

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

Двумерная полилиния, которую при желании можно текстурировать.

Этот узел рисует 2D-полилинию, т. е. фигуру, состоящую из нескольких точек, соединенных сегментами. Line2D не является математической полилинией, т. е. сегменты не бесконечно тонкие. Он предназначен для рендеринга и может быть окрашен и опционально текстурирован. Предупреждение: Некоторые конфигурации может быть невозможно нарисовать красиво, например, очень острые углы. В таких ситуациях узел использует резервную логику рисования, чтобы выглядеть прилично. Примечание: Line2D рисуется с использованием 2D-сетки.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

Line2DКонструктор
# Line2D
C#
public Line2D();

Свойства14

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

Если true, граница полилинии будет сглажена. Примечание: Line2D не ускоряется пакетированием при сглаживании.

BeginCapModeСвойство
# BeginCapMode
C#
public Line2D.LineCapMode BeginCapMode { get; set; }

Стиль начала полилинии, если Line2D.Closed равен false.

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

Если true и полилиния имеет более 2 точек, последняя точка и первая будут соединены сегментом. Примечание: Форма замыкающего сегмента не гарантируется бесшовной, если указан Line2D.WidthCurve. Примечание: Стык между замыкающим сегментом и первым сегментом рисуется первым, и он выбирает Line2D.Gradient и Line2D.WidthCurve в начале. Это деталь реализации, которая может измениться в будущей версии.

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

Цвет полилинии. Не будет использоваться, если задан градиент.

EndCapModeСвойство
# EndCapMode
C#
public Line2D.LineCapMode EndCapMode { get; set; }

Стиль окончания полилинии, если Line2D.Closed равен false.

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

Градиент рисуется по всей линии от начала до конца. Line2D.DefaultColor не будет использоваться, если это свойство установлено.

JointModeСвойство
# JointMode
C#
public Line2D.LineJointMode JointMode { get; set; }

Стиль соединений между сегментами полилинии.

PointsСвойство
# Points
C#
public Vector2[] Points { get; set; }

Точки полилинии, интерпретированные в локальных 2D-координатах. Сегменты рисуются между соседними точками в этом массиве.

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

Гладкость, используемая для закругленных соединений и крышек. Более высокие значения приводят к более гладким углам, но более требовательны к визуализации и обновлению.

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

Определяет предел скоса полилинии. Обычно, когда Line2D.JointMode установлен на Line2D.LineJointMode.Sharp, острые углы возвращаются к использованию логики соединений Line2D.LineJointMode.Bevel для предотвращения слишком длинных скосов. Более высокие значения этого свойства означают, что возврат к скошенному соединению произойдет при более острых углах.

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

Текстура, используемая для полилинии. Использует Line2D.TextureMode для стиля рисования.

TextureModeСвойство
# TextureMode
C#
public Line2D.LineTextureMode TextureMode { get; set; }

Стиль для визуализации Line2D.Texture полилинии.

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

Ширина полилинии.

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

Кривая ширины полилинии. Ширина полилинии по ее длине будет эквивалентна значению кривой ширины по ее домену. Кривая ширины должна быть единицей Curve.

Методы35

AddPointvoid
# AddPoint
C#
public void AddPoint(Vector2 position, int index = -1);

Добавляет точку с указанным position относительно собственного положения полилинии. Если index не указан, новая точка будет добавлена в конец массива точек. Если указан index, новая точка вставляется перед существующей точкой, идентифицированной индексом index. Индексы точек после новой точки увеличиваются на 1. Предоставленный index не должен превышать количество существующих точек в полилинии. См. Line2D.GetPointCount.

Параметры
ИмяТипПо умолчанию
positionVector2—
indexint-1
ClearPointsvoid
# ClearPoints
C#
public void ClearPoints();

Удаляет все точки из полилинии, делая ее пустой.

GetAntialiasedbool
# GetAntialiased
C#
public bool GetAntialiased();
Возвращает bool
GetBeginCapModeLine2D.LineCapMode
# GetBeginCapMode
C#
public Line2D.LineCapMode GetBeginCapMode();
Возвращает Line2D.LineCapMode
GetCurveCurve
# GetCurve
C#
public Curve GetCurve();
Возвращает Curve
GetDefaultColorColor
# GetDefaultColor
C#
public Color GetDefaultColor();
Возвращает Color
GetEndCapModeLine2D.LineCapMode
# GetEndCapMode
C#
public Line2D.LineCapMode GetEndCapMode();
Возвращает Line2D.LineCapMode
GetGradientGradient
# GetGradient
C#
public Gradient GetGradient();
Возвращает Gradient
GetJointModeLine2D.LineJointMode
# GetJointMode
C#
public Line2D.LineJointMode GetJointMode();
Возвращает Line2D.LineJointMode
GetPointCountint
# GetPointCount
C#
public int GetPointCount();

Возвращает количество точек в полилинии.

Возвращает int
GetPointPositionVector2
# GetPointPosition
C#
public Vector2 GetPointPosition(int index);

Возвращает положение точки с индексом index.

Параметры
ИмяТипПо умолчанию
indexint—
Возвращает Vector2
GetPointsVector2[]
# GetPoints
C#
public Vector2[] GetPoints();
Возвращает Vector2[]
GetRoundPrecisionint
# GetRoundPrecision
C#
public int GetRoundPrecision();
Возвращает int
GetSharpLimitfloat
# GetSharpLimit
C#
public float GetSharpLimit();
Возвращает float
GetTextureTexture2D
# GetTexture
C#
public Texture2D GetTexture();
Возвращает Texture2D
GetTextureModeLine2D.LineTextureMode
# GetTextureMode
C#
public Line2D.LineTextureMode GetTextureMode();
Возвращает Line2D.LineTextureMode
GetWidthfloat
# GetWidth
C#
public float GetWidth();
Возвращает float
IsClosedbool
# IsClosed
C#
public bool IsClosed();
Возвращает bool
RemovePointvoid
# RemovePoint
C#
public void RemovePoint(int index);

Удаляет точку с индексом index из полилинии.

Параметры
ИмяТипПо умолчанию
indexint—
SetAntialiasedvoid
# SetAntialiased
C#
public void SetAntialiased(bool antialiased);
Параметры
ИмяТипПо умолчанию
antialiasedbool—
SetBeginCapModevoid
# SetBeginCapMode
C#
public void SetBeginCapMode(Line2D.LineCapMode mode);
Параметры
ИмяТипПо умолчанию
modeLine2D.LineCapMode—
SetClosedvoid
# SetClosed
C#
public void SetClosed(bool closed);
Параметры
ИмяТипПо умолчанию
closedbool—
SetCurvevoid
# SetCurve
C#
public void SetCurve(Curve curve);
Параметры
ИмяТипПо умолчанию
curveCurve—
SetDefaultColorvoid
# SetDefaultColor
C#
public void SetDefaultColor(Color color);
Параметры
ИмяТипПо умолчанию
colorColor—
SetEndCapModevoid
# SetEndCapMode
C#
public void SetEndCapMode(Line2D.LineCapMode mode);
Параметры
ИмяТипПо умолчанию
modeLine2D.LineCapMode—
SetGradientvoid
# SetGradient
C#
public void SetGradient(Gradient color);
Параметры
ИмяТипПо умолчанию
colorGradient—
SetJointModevoid
# SetJointMode
C#
public void SetJointMode(Line2D.LineJointMode mode);
Параметры
ИмяТипПо умолчанию
modeLine2D.LineJointMode—
SetPointPositionvoid
# SetPointPosition
C#
public void SetPointPosition(int index, Vector2 position);

Заменяет позицию точки с указанным index на предоставленную position.

Параметры
ИмяТипПо умолчанию
indexint—
positionVector2—
SetPoints2 перегрузки
# SetPoints · 1/2
C#
public void SetPoints(Vector2[] points);
Параметры
ИмяТипПо умолчанию
pointsVector2[]—
# SetPoints · 2/2
C#
public void SetPoints(ReadOnlySpan<Vector2> points);
Параметры
ИмяТипПо умолчанию
pointsReadOnlySpan<Vector2>—
SetRoundPrecisionvoid
# SetRoundPrecision
C#
public void SetRoundPrecision(int precision);
Параметры
ИмяТипПо умолчанию
precisionint—
SetSharpLimitvoid
# SetSharpLimit
C#
public void SetSharpLimit(float limit);
Параметры
ИмяТипПо умолчанию
limitfloat—
SetTexturevoid
# SetTexture
C#
public void SetTexture(Texture2D texture);
Параметры
ИмяТипПо умолчанию
textureTexture2D—
SetTextureModevoid
# SetTextureMode
C#
public void SetTextureMode(Line2D.LineTextureMode mode);
Параметры
ИмяТипПо умолчанию
modeLine2D.LineTextureMode—
SetWidthvoid
# SetWidth
C#
public void SetWidth(float width);
Параметры
ИмяТипПо умолчанию
widthfloat—

Line2D.LineCapMode

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

Рисует окончание линии в виде прямоугольника, слегка расширяя первый/последний сегмент.

None = 0

Не рисует линию.

Round = 2

Рисует окончание линии в виде полукруга, прикрепленного к первому/последнему сегменту.

Line2D.LineJointMode

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

Делает стыки полилинии скошенными/скошенными, соединяя стороны двух сегментов простой линией.

Round = 2

Делает стыки полилинии скругленными, соединяя стороны двух сегментов дугой. Детализация этой дуги зависит от Line2D.RoundPrecision.

Sharp = 0

Делает сочленения полилинии заостренными, соединяя стороны двух сегментов, удлиняя их до пересечения. Если вращение сочленения слишком велико (на основе Line2D.SharpLimit), сочленение возвращается к Line2D.LineJointMode.Bevel, чтобы предотвратить слишком длинные скосы.

Line2D.LineTextureMode

ЗначениеОписание
None = 0

Берет левые пиксели текстуры и визуализирует их по всей полилинии.

Stretch = 2

Растягивает текстуру по полилинии. CanvasItem.TextureRepeat узла Line2D должен быть CanvasItem.TextureRepeatEnum.Disabled для достижения наилучших результатов.

Tile = 1

Размещает текстуру на полилинии. CanvasItem.TextureRepeat узла Line2D должен быть CanvasItem.TextureRepeatEnum.Enabled или CanvasItem.TextureRepeatEnum.Mirror для правильной работы.

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

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

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

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