Polygon2D

Наследует: Node2D < CanvasItem < Node < Object

Двумерный полигон.

Описание

Polygon2D определяется набором точек. Каждая точка соединена со следующей, а последняя точка соединена с первой, в результате чего получается замкнутый многоугольник. Polygon2D можно заполнить цветом (сплошным или градиентным) или заданной текстурой.

Свойства

bool

antialiased

false

Color

color

Color(1, 1, 1, 1)

int

internal_vertex_count

0

float

invert_border

100.0

bool

invert_enabled

false

Vector2

offset

Vector2(0, 0)

PackedVector2Array

polygon

PackedVector2Array()

Array

polygons

[]

NodePath

skeleton

NodePath("")

Texture2D

texture

Vector2

texture_offset

Vector2(0, 0)

float

texture_rotation

0.0

Vector2

texture_scale

Vector2(1, 1)

PackedVector2Array

uv

PackedVector2Array()

PackedColorArray

vertex_colors

PackedColorArray()

Методы

void

add_bone(path: NodePath, weights: PackedFloat32Array)

void

clear_bones()

void

erase_bone(index: int)

int

get_bone_count() const

NodePath

get_bone_path(index: int) const

PackedFloat32Array

get_bone_weights(index: int) const

void

set_bone_path(index: int, path: NodePath)

void

set_bone_weights(index: int, weights: PackedFloat32Array)


Описания свойств

bool antialiased = false 🔗

  • void set_antialiased(value: bool)

  • bool get_antialiased()

Если true, края полигонов будут сглажены.


Color color = Color(1, 1, 1, 1) 🔗

Цвет заливки полигона. Если задано texture, оно будет умножено на этот цвет. Это также будет цвет по умолчанию для вершин, не заданных в vertex_colors.


int internal_vertex_count = 0 🔗

  • void set_internal_vertex_count(value: int)

  • int get_internal_vertex_count()

Количество внутренних вершин, используемых для UV-развертки.


float invert_border = 100.0 🔗

  • void set_invert_border(value: float)

  • float get_invert_border()

Добавлен отступ, применяемый к ограничивающему прямоугольнику, когда invert_enabled установлен на true. Установка слишком маленького значения может привести к ошибке «Bad Polygon».


bool invert_enabled = false 🔗

  • void set_invert_enabled(value: bool)

  • bool get_invert_enabled()

Если true, многоугольник будет инвертирован, включая область за пределами определенных точек и простираясь до invert_border.


Vector2 offset = Vector2(0, 0) 🔗

Смещение, примененное к каждой вершине.


PackedVector2Array polygon = PackedVector2Array() 🔗

Список вершин полигона. Конечная точка будет соединена с первой.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.


Array polygons = [] 🔗

  • void set_polygons(value: Array)

  • Array get_polygons()

Список полигонов, в случае если представлено более одного. Каждый отдельный полигон хранится как PackedInt32Array, где каждое int — это индекс точки в polygon. Если пусто, это свойство будет проигнорировано, и полученный один полигон будет составлен из всех точек в polygon в том порядке, в котором они хранятся.


NodePath skeleton = NodePath("") 🔗

Путь к узлу Skeleton2D, используемому для скелетных деформаций этого полигона. Если пусто или недействительно, скелетные деформации не будут использоваться.


Texture2D texture 🔗

Текстура заливки полигона. Используйте uv для установки координат текстуры.


Vector2 texture_offset = Vector2(0, 0) 🔗

  • void set_texture_offset(value: Vector2)

  • Vector2 get_texture_offset()

Величина смещения texture полигона. Если установлено значение Vector2(0, 0), начало координат текстуры (ее верхний левый угол) будет размещено в позиции полигона.


float texture_rotation = 0.0 🔗

  • void set_texture_rotation(value: float)

  • float get_texture_rotation()

Вращение текстуры в радианах.


Vector2 texture_scale = Vector2(1, 1) 🔗

Величина для умножения координат uv при использовании texture. Большие значения делают текстуру меньше, и наоборот.


PackedVector2Array uv = PackedVector2Array() 🔗

Координаты текстуры для каждой вершины полигона. Должно быть одно значение UV на вершину полигона. Если их меньше, неопределенные вершины будут использовать Vector2(0, 0).

Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.


PackedColorArray vertex_colors = PackedColorArray() 🔗

Цвет для каждой вершины. Цвета интерполируются между вершинами, что приводит к плавным градиентам. Должен быть один на вершину полигона. Если их меньше, неопределенные вершины будут использовать color.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedColorArray for more details.


Описания метода

void add_bone(path: NodePath, weights: PackedFloat32Array) 🔗

Добавляет кость с указанными path и weights.


void clear_bones() 🔗

Удаляет все кости из этого Polygon2D.


void erase_bone(index: int) 🔗

Удаляет указанную кость из этого Polygon2D.


int get_bone_count() const 🔗

Возвращает количество костей в этом Polygon2D.


NodePath get_bone_path(index: int) const 🔗

Возвращает путь к узлу, связанному с указанной костью.


PackedFloat32Array get_bone_weights(index: int) const 🔗

Возвращает значения веса указанной кости.


void set_bone_path(index: int, path: NodePath) 🔗

Устанавливает путь к узлу, связанному с указанной костью.


void set_bone_weights(index: int, weights: PackedFloat32Array) 🔗

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