:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the Polygon2D.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_Polygon2D: Polygon2D ========= **Inherits:** :ref:`Node2D` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` A 2D polygon. Description ----------- 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. **Note:** By default, Godot can only draw up to 4,096 polygon points at a time. To increase this limit, open the Project Settings and increase :ref:`ProjectSettings.rendering/limits/buffers/canvas_polygon_buffer_size_kb` and :ref:`ProjectSettings.rendering/limits/buffers/canvas_polygon_index_buffer_size_kb`. Properties ---------- +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`bool` | :ref:`antialiased` | ``false`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`Array` | :ref:`bones` | ``[ ]`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`Color` | :ref:`color` | ``Color( 1, 1, 1, 1 )`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`int` | :ref:`internal_vertex_count` | ``0`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`float` | :ref:`invert_border` | ``100.0`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`bool` | :ref:`invert_enable` | ``false`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`Vector2` | :ref:`offset` | ``Vector2( 0, 0 )`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`PoolVector2Array` | :ref:`polygon` | ``PoolVector2Array( )`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`Array` | :ref:`polygons` | ``[ ]`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`NodePath` | :ref:`skeleton` | ``NodePath("")`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`Texture` | :ref:`texture` | | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`Vector2` | :ref:`texture_offset` | ``Vector2( 0, 0 )`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`float` | :ref:`texture_rotation` | | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`float` | :ref:`texture_rotation_degrees` | ``0.0`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`Vector2` | :ref:`texture_scale` | ``Vector2( 1, 1 )`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`PoolVector2Array` | :ref:`uv` | ``PoolVector2Array( )`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ | :ref:`PoolColorArray` | :ref:`vertex_colors` | ``PoolColorArray( )`` | +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+ Methods ------- +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_bone` **(** :ref:`NodePath` path, :ref:`PoolRealArray` weights **)** | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear_bones` **(** **)** | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`erase_bone` **(** :ref:`int` index **)** | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_bone_count` **(** **)** |const| | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`NodePath` | :ref:`get_bone_path` **(** :ref:`int` index **)** |const| | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolRealArray` | :ref:`get_bone_weights` **(** :ref:`int` index **)** |const| | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_bone_path` **(** :ref:`int` index, :ref:`NodePath` path **)** | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_bone_weights` **(** :ref:`int` index, :ref:`PoolRealArray` weights **)** | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ Property Descriptions --------------------- .. _class_Polygon2D_property_antialiased: - :ref:`bool` **antialiased** +-----------+------------------------+ | *Default* | ``false`` | +-----------+------------------------+ | *Setter* | set_antialiased(value) | +-----------+------------------------+ | *Getter* | get_antialiased() | +-----------+------------------------+ If ``true``, polygon edges will be anti-aliased. ---- .. _class_Polygon2D_property_bones: - :ref:`Array` **bones** +-----------+----------+ | *Default* | ``[ ]`` | +-----------+----------+ ---- .. _class_Polygon2D_property_color: - :ref:`Color` **color** +-----------+-------------------------+ | *Default* | ``Color( 1, 1, 1, 1 )`` | +-----------+-------------------------+ | *Setter* | set_color(value) | +-----------+-------------------------+ | *Getter* | get_color() | +-----------+-------------------------+ The polygon's fill color. If ``texture`` is defined, it will be multiplied by this color. It will also be the default color for vertices not set in ``vertex_colors``. ---- .. _class_Polygon2D_property_internal_vertex_count: - :ref:`int` **internal_vertex_count** +-----------+----------------------------------+ | *Default* | ``0`` | +-----------+----------------------------------+ | *Setter* | set_internal_vertex_count(value) | +-----------+----------------------------------+ | *Getter* | get_internal_vertex_count() | +-----------+----------------------------------+ ---- .. _class_Polygon2D_property_invert_border: - :ref:`float` **invert_border** +-----------+--------------------------+ | *Default* | ``100.0`` | +-----------+--------------------------+ | *Setter* | set_invert_border(value) | +-----------+--------------------------+ | *Getter* | get_invert_border() | +-----------+--------------------------+ Added padding applied to the bounding box when using ``invert``. Setting this value too small may result in a "Bad Polygon" error. ---- .. _class_Polygon2D_property_invert_enable: - :ref:`bool` **invert_enable** +-----------+-------------------+ | *Default* | ``false`` | +-----------+-------------------+ | *Setter* | set_invert(value) | +-----------+-------------------+ | *Getter* | get_invert() | +-----------+-------------------+ If ``true``, polygon will be inverted, containing the area outside the defined points and extending to the ``invert_border``. ---- .. _class_Polygon2D_property_offset: - :ref:`Vector2` **offset** +-----------+---------------------+ | *Default* | ``Vector2( 0, 0 )`` | +-----------+---------------------+ | *Setter* | set_offset(value) | +-----------+---------------------+ | *Getter* | get_offset() | +-----------+---------------------+ The offset applied to each vertex. ---- .. _class_Polygon2D_property_polygon: - :ref:`PoolVector2Array` **polygon** +-----------+--------------------------+ | *Default* | ``PoolVector2Array( )`` | +-----------+--------------------------+ | *Setter* | set_polygon(value) | +-----------+--------------------------+ | *Getter* | get_polygon() | +-----------+--------------------------+ The polygon's list of vertices. The final point will be connected to the first. **Note:** This returns a copy of the :ref:`PoolVector2Array` rather than a reference. ---- .. _class_Polygon2D_property_polygons: - :ref:`Array` **polygons** +-----------+---------------------+ | *Default* | ``[ ]`` | +-----------+---------------------+ | *Setter* | set_polygons(value) | +-----------+---------------------+ | *Getter* | get_polygons() | +-----------+---------------------+ ---- .. _class_Polygon2D_property_skeleton: - :ref:`NodePath` **skeleton** +-----------+---------------------+ | *Default* | ``NodePath("")`` | +-----------+---------------------+ | *Setter* | set_skeleton(value) | +-----------+---------------------+ | *Getter* | get_skeleton() | +-----------+---------------------+ ---- .. _class_Polygon2D_property_texture: - :ref:`Texture` **texture** +----------+--------------------+ | *Setter* | set_texture(value) | +----------+--------------------+ | *Getter* | get_texture() | +----------+--------------------+ The polygon's fill texture. Use ``uv`` to set texture coordinates. ---- .. _class_Polygon2D_property_texture_offset: - :ref:`Vector2` **texture_offset** +-----------+---------------------------+ | *Default* | ``Vector2( 0, 0 )`` | +-----------+---------------------------+ | *Setter* | set_texture_offset(value) | +-----------+---------------------------+ | *Getter* | get_texture_offset() | +-----------+---------------------------+ Amount to offset the polygon's ``texture``. If ``(0, 0)`` the texture's origin (its top-left corner) will be placed at the polygon's ``position``. ---- .. _class_Polygon2D_property_texture_rotation: - :ref:`float` **texture_rotation** +----------+-----------------------------+ | *Setter* | set_texture_rotation(value) | +----------+-----------------------------+ | *Getter* | get_texture_rotation() | +----------+-----------------------------+ The texture's rotation in radians. ---- .. _class_Polygon2D_property_texture_rotation_degrees: - :ref:`float` **texture_rotation_degrees** +-----------+-------------------------------------+ | *Default* | ``0.0`` | +-----------+-------------------------------------+ | *Setter* | set_texture_rotation_degrees(value) | +-----------+-------------------------------------+ | *Getter* | get_texture_rotation_degrees() | +-----------+-------------------------------------+ The texture's rotation in degrees. ---- .. _class_Polygon2D_property_texture_scale: - :ref:`Vector2` **texture_scale** +-----------+--------------------------+ | *Default* | ``Vector2( 1, 1 )`` | +-----------+--------------------------+ | *Setter* | set_texture_scale(value) | +-----------+--------------------------+ | *Getter* | get_texture_scale() | +-----------+--------------------------+ Amount to multiply the ``uv`` coordinates when using a ``texture``. Larger values make the texture smaller, and vice versa. ---- .. _class_Polygon2D_property_uv: - :ref:`PoolVector2Array` **uv** +-----------+--------------------------+ | *Default* | ``PoolVector2Array( )`` | +-----------+--------------------------+ | *Setter* | set_uv(value) | +-----------+--------------------------+ | *Getter* | get_uv() | +-----------+--------------------------+ Texture coordinates for each vertex of the polygon. There should be one ``uv`` per polygon vertex. If there are fewer, undefined vertices will use ``(0, 0)``. ---- .. _class_Polygon2D_property_vertex_colors: - :ref:`PoolColorArray` **vertex_colors** +-----------+--------------------------+ | *Default* | ``PoolColorArray( )`` | +-----------+--------------------------+ | *Setter* | set_vertex_colors(value) | +-----------+--------------------------+ | *Getter* | get_vertex_colors() | +-----------+--------------------------+ 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 ``color``. Method Descriptions ------------------- .. _class_Polygon2D_method_add_bone: - void **add_bone** **(** :ref:`NodePath` path, :ref:`PoolRealArray` weights **)** Adds a bone with the specified ``path`` and ``weights``. ---- .. _class_Polygon2D_method_clear_bones: - void **clear_bones** **(** **)** Removes all bones from this ``Polygon2D``. ---- .. _class_Polygon2D_method_erase_bone: - void **erase_bone** **(** :ref:`int` index **)** Removes the specified bone from this ``Polygon2D``. ---- .. _class_Polygon2D_method_get_bone_count: - :ref:`int` **get_bone_count** **(** **)** |const| Returns the number of bones in this ``Polygon2D``. ---- .. _class_Polygon2D_method_get_bone_path: - :ref:`NodePath` **get_bone_path** **(** :ref:`int` index **)** |const| Returns the path to the node associated with the specified bone. ---- .. _class_Polygon2D_method_get_bone_weights: - :ref:`PoolRealArray` **get_bone_weights** **(** :ref:`int` index **)** |const| Returns the height values of the specified bone. ---- .. _class_Polygon2D_method_set_bone_path: - void **set_bone_path** **(** :ref:`int` index, :ref:`NodePath` path **)** Sets the path to the node associated with the specified bone. ---- .. _class_Polygon2D_method_set_bone_weights: - void **set_bone_weights** **(** :ref:`int` index, :ref:`PoolRealArray` weights **)** Sets the weight values for the specified bone. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`