Polygon2D
Рисует многоугольник с цветом, текстурой и необязательной деформацией костями.
Polygon2D хранит вершины в локальных координатах. UV задаётся в пикселях текстуры. Для составной сетки Polygons содержит индексы её частей; внутренние вершины отмечаются InternalVertexCount.
Для деформации назначьте Skeleton и добавьте веса через AddBone(). Путь к скелету отсчитывается от полигона, путь к кости — от скелета. На вершину используются четыре наибольших веса с нормализацией. Отрисованная деформация не перезаписывает массив Polygon.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
Polygon2DКонструктор
public Polygon2D();Свойства16
AntialiasedСвойство
public bool Antialiased { get; set; }Если true, края полигонов будут сглажены.
BonesСвойство
public Reckfell.Collections.Array Bones { get; set; }ColorСвойство
public Color Color { get; set; }Цвет заливки полигона. Если задано Polygon2D.Texture, оно будет умножено на этот цвет. Это также будет цвет по умолчанию для вершин, не заданных в Polygon2D.VertexColors.
InternalVertexCountСвойство
public int InternalVertexCount { get; set; }Количество внутренних вершин, используемых для UV-развертки.
InvertBorderСвойство
public float InvertBorder { get; set; }Добавлен отступ, применяемый к ограничивающему прямоугольнику, когда Polygon2D.InvertEnabled установлен на true. Установка слишком маленького значения может привести к ошибке «Плохой многоугольник».
InvertEnabledСвойство
public bool InvertEnabled { get; set; }Если true, многоугольник будет инвертирован, включая область за пределами определенных точек и простираясь до Polygon2D.InvertBorder.
OffsetСвойство
public Vector2 Offset { get; set; }Смещение, примененное к каждой вершине.
Многоугольник
PolygonСвойство
public Vector2[] Polygon { get; set; }Список вершин полигона. Конечная точка будет соединена с первой.
PolygonsСвойство
public Reckfell.Collections.Array Polygons { get; set; }Список полигонов, в случае если представлено более одного. Каждый отдельный полигон хранится как int[], где каждое Polygon2D.Polygon. Если пусто, это свойство будет проигнорировано, и полученный один полигон будет составлен из всех точек в Polygon2D.Polygon в том порядке, в котором они хранятся.
SkeletonСвойство
public EntityPath Skeleton { get; set; }Путь к Skeleton2D относительно этого Polygon2D. Например, ../Skeleton для соседнего скелета. Пути костей в AddBone() отсчитываются уже от Skeleton2D. Для видимой деформации дополнительно нужны веса вершин.
TextureСвойство
public Texture2D Texture { get; set; }Текстура заливки полигона. Используйте Polygon2D.UV для установки координат текстуры.
TextureOffsetСвойство
public Vector2 TextureOffset { get; set; }Величина смещения Polygon2D.Texture полигона. Если установлено значение Vector2(0, 0), начало координат текстуры (ее верхний левый угол) будет размещено в позиции полигона.
TextureRotationСвойство
public float TextureRotation { get; set; }Вращение текстуры в радианах.
TextureScaleСвойство
public Vector2 TextureScale { get; set; }Величина для умножения координат Polygon2D.UV при использовании Polygon2D.Texture. Большие значения делают текстуру меньше, и наоборот.
UVСвойство
public Vector2[] UV { get; set; }Texture Координаты для каждой вершины многоугольника. Должно быть одно значение ультрафиолетового излучения на одну вершину многоугольника, если меньше, неопределенные вершины будут использоваться Vector2(0, 0).
VertexColorsСвойство
public Color[] VertexColors { get; set; }Color Цвета интерполируются между вершинами, что приводит к плавным градиентам. В случае меньшего количества неопределенных вершин должен быть один на многоугольник. Polygon2D.Color.
Методы43
AddBone2 перегрузки
public void AddBone(EntityPath path, ReadOnlySpan<float> weights);Добавляет запись весов кости. path задаётся относительно назначенного Skeleton2D; weights содержит по одному неотрицательному весу на вершину Polygon, включая внутренние вершины. Несовпадающая длина массива или отсутствующая кость исключает запись из отрисовки. На вершину выбираются четыре наибольших веса и нормализуются. При изменении уже видимого полигона вызовите QueueRedraw().
| Имя | Тип | По умолчанию |
|---|---|---|
path | EntityPath | — |
weights | ReadOnlySpan<float> | — |
public void AddBone(EntityPath path, float[] weights);Добавляет запись весов кости. path задаётся относительно назначенного Skeleton2D; weights содержит по одному неотрицательному весу на вершину Polygon, включая внутренние вершины. Несовпадающая длина массива или отсутствующая кость исключает запись из отрисовки. На вершину выбираются четыре наибольших веса и нормализуются. При изменении уже видимого полигона вызовите QueueRedraw().
| Имя | Тип | По умолчанию |
|---|---|---|
path | EntityPath | — |
weights | float[] | — |
ClearBonesvoid
public void ClearBones();Удаляет все кости из этого Polygon2D.
EraseBonevoid
public void EraseBone(int index);Удаляет указанную кость из этого Polygon2D.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
GetAntialiasedbool
public bool GetAntialiased();boolGetBoneCountint
public int GetBoneCount();Возвращает количество костей в этом Polygon2D.
intGetBonePathEntityPath
public EntityPath GetBonePath(int index);Возвращает путь к узлу, связанному с указанной костью.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
EntityPathGetBoneWeightsfloat[]
public float[] GetBoneWeights(int index);Возвращает значения веса указанной кости.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
float[]GetColorColor
public Color GetColor();ColorGetInternalVertexCountint
public int GetInternalVertexCount();intGetInvertBorderfloat
public float GetInvertBorder();floatGetInvertEnabledbool
public bool GetInvertEnabled();boolGetOffsetVector2
public Vector2 GetOffset();Vector2GetPolygonVector2[]
public Vector2[] GetPolygon();Vector2[]GetPolygonsReckfell.Collections.Array
public Reckfell.Collections.Array GetPolygons();Reckfell.Collections.ArrayGetSkeletonEntityPath
public EntityPath GetSkeleton();EntityPathGetTextureTexture2D
public Texture2D GetTexture();Texture2DGetTextureOffsetVector2
public Vector2 GetTextureOffset();Vector2GetTextureRotationfloat
public float GetTextureRotation();floatGetTextureScaleVector2
public Vector2 GetTextureScale();Vector2GetUVVector2[]
public Vector2[] GetUV();Vector2[]GetVertexColorsColor[]
public Color[] GetVertexColors();Color[]SetAntialiasedvoid
public void SetAntialiased(bool antialiased);| Имя | Тип | По умолчанию |
|---|---|---|
antialiased | bool | — |
SetBonePathvoid
public void SetBonePath(int index, EntityPath path);Устанавливает путь к узлу, связанному с указанной костью.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
path | EntityPath | — |
SetBoneWeights2 перегрузки
public void SetBoneWeights(int index, ReadOnlySpan<float> weights);Устанавливает значения веса для указанной кости.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
weights | ReadOnlySpan<float> | — |
public void SetBoneWeights(int index, float[] weights);Устанавливает значения веса для указанной кости.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
weights | float[] | — |
SetColorvoid
public void SetColor(Color color);| Имя | Тип | По умолчанию |
|---|---|---|
color | Color | — |
SetInternalVertexCountvoid
public void SetInternalVertexCount(int internalVertexCount);| Имя | Тип | По умолчанию |
|---|---|---|
internalVertexCount | int | — |
SetInvertBordervoid
public void SetInvertBorder(float invertBorder);| Имя | Тип | По умолчанию |
|---|---|---|
invertBorder | float | — |
SetInvertEnabledvoid
public void SetInvertEnabled(bool invert);| Имя | Тип | По умолчанию |
|---|---|---|
invert | bool | — |
SetOffsetvoid
public void SetOffset(Vector2 offset);| Имя | Тип | По умолчанию |
|---|---|---|
offset | Vector2 | — |
SetPolygon2 перегрузки
public void SetPolygon(Vector2[] polygon);| Имя | Тип | По умолчанию |
|---|---|---|
polygon | Vector2[] | — |
public void SetPolygon(ReadOnlySpan<Vector2> polygon);| Имя | Тип | По умолчанию |
|---|---|---|
polygon | ReadOnlySpan<Vector2> | — |
SetPolygonsvoid
public void SetPolygons(Reckfell.Collections.Array polygons);| Имя | Тип | По умолчанию |
|---|---|---|
polygons | Reckfell.Collections.Array | — |
SetSkeletonvoid
public void SetSkeleton(EntityPath skeleton);| Имя | Тип | По умолчанию |
|---|---|---|
skeleton | EntityPath | — |
SetTexturevoid
public void SetTexture(Texture2D texture);| Имя | Тип | По умолчанию |
|---|---|---|
texture | Texture2D | — |
SetTextureOffsetvoid
public void SetTextureOffset(Vector2 textureOffset);| Имя | Тип | По умолчанию |
|---|---|---|
textureOffset | Vector2 | — |
SetTextureRotationvoid
public void SetTextureRotation(float textureRotation);| Имя | Тип | По умолчанию |
|---|---|---|
textureRotation | float | — |
SetTextureScalevoid
public void SetTextureScale(Vector2 textureScale);| Имя | Тип | По умолчанию |
|---|---|---|
textureScale | Vector2 | — |
SetUV2 перегрузки
public void SetUV(Vector2[] uV);| Имя | Тип | По умолчанию |
|---|---|---|
uV | Vector2[] | — |
public void SetUV(ReadOnlySpan<Vector2> uV);| Имя | Тип | По умолчанию |
|---|---|---|
uV | ReadOnlySpan<Vector2> | — |
SetVertexColors2 перегрузки
public void SetVertexColors(Color[] vertexColors);| Имя | Тип | По умолчанию |
|---|---|---|
vertexColors | Color[] | — |
public void SetVertexColors(ReadOnlySpan<Color> vertexColors);| Имя | Тип | По умолчанию |
|---|---|---|
vertexColors | ReadOnlySpan<Color> | — |