Polygon2D

继承: Node2D < CanvasItem < Node < Object

2D 多边形。

描述

Polygon2D 由一组点定义。每个点都连接到下一个点,最后一个点连接到第一个点,从而形成一个封闭的多边形。Polygon2D 可以填充颜色(纯色或渐变),也可以填充给定的纹理。

属性

bool

antialiased

false

Array

bones

[]

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,则多边形边缘将进行抗锯齿。


Array bones = [] 🔗

分配的 skeleton 所使用的 Bone2D 节点的内部列表。使用 Polygon2D 编辑器编辑(顶部工具栏的“UV”按钮)。


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) 🔗

使用 texture 时乘以 uv 坐标的量。值越大,纹理越小,反之亦然。


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) 🔗

添加指定 pathweights 的骨骼。


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) 🔗

设置指定骨骼的权重值。