2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 10:08:05 +02:00
<class name= "Polygon2D" inherits= "Node2D" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 22:42:36 +02:00
<brief_description >
2017-10-02 06:13:36 +02:00
A 2D polygon.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2017-10-02 06:13:36 +02:00
A Polygon2D is defined by a set of points. Each point is connected to the next, with the final point being connected to the first, resulting in a closed polygon. Polygon2Ds can be filled with color (solid or gradient) or filled with a given texture.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<methods >
2018-05-12 09:38:00 +02:00
<method name= "add_bone" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "path" type= "NodePath" />
<param index= "1" name= "weights" type= "PackedFloat32Array" />
2018-05-12 09:38:00 +02:00
<description >
2022-08-11 19:52:19 +02:00
Adds a bone with the specified [param path] and [param weights].
2018-05-12 09:38:00 +02:00
</description>
</method>
<method name= "clear_bones" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2018-05-12 09:38:00 +02:00
<description >
2020-03-03 19:21:21 +01:00
Removes all bones from this [Polygon2D].
2018-05-12 09:38:00 +02:00
</description>
</method>
<method name= "erase_bone" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "index" type= "int" />
2018-05-12 09:38:00 +02:00
<description >
2020-03-03 19:21:21 +01:00
Removes the specified bone from this [Polygon2D].
2018-05-12 09:38:00 +02:00
</description>
</method>
<method name= "get_bone_count" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2018-05-12 09:38:00 +02:00
<description >
2020-03-03 19:21:21 +01:00
Returns the number of bones in this [Polygon2D].
2018-05-12 09:38:00 +02:00
</description>
</method>
<method name= "get_bone_path" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "NodePath" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "index" type= "int" />
2018-05-12 09:38:00 +02:00
<description >
2020-03-03 19:21:21 +01:00
Returns the path to the node associated with the specified bone.
2018-05-12 09:38:00 +02:00
</description>
</method>
<method name= "get_bone_weights" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "PackedFloat32Array" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "index" type= "int" />
2018-05-12 09:38:00 +02:00
<description >
2023-05-21 23:47:21 +02:00
Returns the weight values of the specified bone.
2018-05-12 09:38:00 +02:00
</description>
</method>
<method name= "set_bone_path" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "index" type= "int" />
<param index= "1" name= "path" type= "NodePath" />
2018-05-12 09:38:00 +02:00
<description >
2020-03-03 19:21:21 +01:00
Sets the path to the node associated with the specified bone.
2018-05-12 09:38:00 +02:00
</description>
</method>
<method name= "set_bone_weights" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "index" type= "int" />
<param index= "1" name= "weights" type= "PackedFloat32Array" />
2018-05-12 09:38:00 +02:00
<description >
2020-03-03 19:21:21 +01:00
Sets the weight values for the specified bone.
2018-05-12 09:38:00 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
</methods>
<members >
2019-06-29 12:38:01 +02:00
<member name= "antialiased" type= "bool" setter= "set_antialiased" getter= "get_antialiased" default= "false" >
2019-06-29 15:24:23 +02:00
If [code]true[/code], polygon edges will be anti-aliased.
2017-09-12 22:42:36 +02:00
</member>
2019-09-24 19:45:03 +02:00
<member name= "bones" type= "Array" setter= "_set_bones" getter= "_get_bones" default= "[]" >
2023-02-28 15:06:21 +01:00
Internal list of [Bone2D] nodes used by the assigned [member skeleton]. Edited using the Polygon2D editor ("UV" button on the top toolbar).
2018-05-12 09:38:00 +02:00
</member>
2019-09-24 19:45:03 +02:00
<member name= "color" type= "Color" setter= "set_color" getter= "get_color" default= "Color(1, 1, 1, 1)" >
2023-10-02 20:11:43 +02:00
The polygon's fill color. If [member texture] is set, it will be multiplied by this color. It will also be the default color for vertices not set in [member vertex_colors].
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "internal_vertex_count" type= "int" setter= "set_internal_vertex_count" getter= "get_internal_vertex_count" default= "0" >
2023-02-28 15:06:21 +01:00
Number of internal vertices, used for UV mapping.
2019-01-10 14:34:15 +01:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "invert_border" type= "float" setter= "set_invert_border" getter= "get_invert_border" default= "100.0" >
2022-08-24 12:50:44 +02:00
Added padding applied to the bounding box when [member invert_enabled] is set to [code]true[/code]. Setting this value too small may result in a "Bad Polygon" error.
2017-09-12 22:42:36 +02:00
</member>
2022-08-24 12:50:44 +02:00
<member name= "invert_enabled" type= "bool" setter= "set_invert_enabled" getter= "get_invert_enabled" default= "false" >
If [code]true[/code], the polygon will be inverted, containing the area outside the defined points and extending to the [member invert_border].
2017-09-12 22:42:36 +02:00
</member>
2019-09-24 19:45:03 +02:00
<member name= "offset" type= "Vector2" setter= "set_offset" getter= "get_offset" default= "Vector2(0, 0)" >
2017-10-02 06:13:36 +02:00
The offset applied to each vertex.
2017-09-12 22:42:36 +02:00
</member>
2019-09-24 19:45:03 +02:00
<member name= "polygon" type= "PackedVector2Array" setter= "set_polygon" getter= "get_polygon" default= "PackedVector2Array()" >
2019-06-22 01:04:47 +02:00
The polygon's list of vertices. The final point will be connected to the first.
2020-02-18 13:59:24 +01:00
[b]Note:[/b] This returns a copy of the [PackedVector2Array] rather than a reference.
2017-09-12 22:42:36 +02:00
</member>
2019-09-24 19:45:03 +02:00
<member name= "polygons" type= "Array" setter= "set_polygons" getter= "get_polygons" default= "[]" >
2022-10-31 00:32:36 +01:00
The list of polygons, in case more than one is being represented. Every individual polygon is stored as a [PackedInt32Array] where each [int] is an index to a point in [member polygon]. If empty, this property will be ignored, and the resulting single polygon will be composed of all points in [member polygon], using the order they are stored in.
2018-05-12 09:38:00 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "skeleton" type= "NodePath" setter= "set_skeleton" getter= "get_skeleton" default= "NodePath("")" >
2023-02-28 15:06:21 +01:00
Path to a [Skeleton2D] node used for skeleton-based deformations of this polygon. If empty or invalid, skeletal deformations will not be used.
2018-02-27 13:41:27 +01:00
</member>
2020-02-12 09:59:06 +01:00
<member name= "texture" type= "Texture2D" setter= "set_texture" getter= "get_texture" >
2023-10-02 20:11:43 +02:00
The polygon's fill texture. Use [member uv] to set texture coordinates.
2017-09-12 22:42:36 +02:00
</member>
2019-09-24 19:45:03 +02:00
<member name= "texture_offset" type= "Vector2" setter= "set_texture_offset" getter= "get_texture_offset" default= "Vector2(0, 0)" >
2023-10-02 20:11:43 +02:00
Amount to offset the polygon's [member texture]. If set to [code]Vector2(0, 0)[/code], the texture's origin (its top-left corner) will be placed at the polygon's position.
2017-09-12 22:42:36 +02:00
</member>
Fix editor suffixes and degrees conversion
* Functions to convert to/from degrees are all gone. Conversion is done by the editor.
* Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees.
* Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m"
* In general, can add suffixes for EditorSpinSlider
Not covered by this PR, will have to be addressed by future ones:
* Ability to switch radians/degrees in the inspector for angle properties (if actually wanted).
* Animations previously made will most likely break, need to add a way to make old ones compatible.
* Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes.
* Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
2021-06-29 21:42:12 +02:00
<member name= "texture_rotation" type= "float" setter= "set_texture_rotation" getter= "get_texture_rotation" default= "0.0" >
2018-01-11 23:38:35 +01:00
The texture's rotation in radians.
</member>
2019-09-24 19:45:03 +02:00
<member name= "texture_scale" type= "Vector2" setter= "set_texture_scale" getter= "get_texture_scale" default= "Vector2(1, 1)" >
2023-10-02 20:11:43 +02:00
Amount to multiply the [member uv] coordinates when using [member texture]. Larger values make the texture smaller, and vice versa.
2017-09-12 22:42:36 +02:00
</member>
2019-09-24 19:45:03 +02:00
<member name= "uv" type= "PackedVector2Array" setter= "set_uv" getter= "get_uv" default= "PackedVector2Array()" >
2023-10-02 20:11:43 +02:00
Texture coordinates for each vertex of the polygon. There should be one UV value per polygon vertex. If there are fewer, undefined vertices will use [code]Vector2(0, 0)[/code].
2017-09-12 22:42:36 +02:00
</member>
2019-09-24 19:45:03 +02:00
<member name= "vertex_colors" type= "PackedColorArray" setter= "set_vertex_colors" getter= "get_vertex_colors" default= "PackedColorArray()" >
2023-10-02 20:11:43 +02:00
Color for each vertex. Colors are interpolated between vertices, resulting in smooth gradients. There should be one per polygon vertex. If there are fewer, undefined vertices will use [member color].
2017-09-12 22:42:36 +02:00
</member>
</members>
</class>