class_polygon2d.rst 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the Polygon2D.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_Polygon2D:
  6. Polygon2D
  7. =========
  8. **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  9. A 2D polygon.
  10. Description
  11. -----------
  12. 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.
  13. **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<class_ProjectSettings_property_rendering/limits/buffers/canvas_polygon_buffer_size_kb>` and :ref:`ProjectSettings.rendering/limits/buffers/canvas_polygon_index_buffer_size_kb<class_ProjectSettings_property_rendering/limits/buffers/canvas_polygon_index_buffer_size_kb>`.
  14. Properties
  15. ----------
  16. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  17. | :ref:`bool<class_bool>` | :ref:`antialiased<class_Polygon2D_property_antialiased>` | ``false`` |
  18. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  19. | :ref:`Array<class_Array>` | :ref:`bones<class_Polygon2D_property_bones>` | ``[ ]`` |
  20. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  21. | :ref:`Color<class_Color>` | :ref:`color<class_Polygon2D_property_color>` | ``Color( 1, 1, 1, 1 )`` |
  22. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  23. | :ref:`int<class_int>` | :ref:`internal_vertex_count<class_Polygon2D_property_internal_vertex_count>` | ``0`` |
  24. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  25. | :ref:`float<class_float>` | :ref:`invert_border<class_Polygon2D_property_invert_border>` | ``100.0`` |
  26. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  27. | :ref:`bool<class_bool>` | :ref:`invert_enable<class_Polygon2D_property_invert_enable>` | ``false`` |
  28. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  29. | :ref:`Vector2<class_Vector2>` | :ref:`offset<class_Polygon2D_property_offset>` | ``Vector2( 0, 0 )`` |
  30. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  31. | :ref:`PoolVector2Array<class_PoolVector2Array>` | :ref:`polygon<class_Polygon2D_property_polygon>` | ``PoolVector2Array( )`` |
  32. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  33. | :ref:`Array<class_Array>` | :ref:`polygons<class_Polygon2D_property_polygons>` | ``[ ]`` |
  34. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  35. | :ref:`NodePath<class_NodePath>` | :ref:`skeleton<class_Polygon2D_property_skeleton>` | ``NodePath("")`` |
  36. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  37. | :ref:`Texture<class_Texture>` | :ref:`texture<class_Polygon2D_property_texture>` | |
  38. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  39. | :ref:`Vector2<class_Vector2>` | :ref:`texture_offset<class_Polygon2D_property_texture_offset>` | ``Vector2( 0, 0 )`` |
  40. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  41. | :ref:`float<class_float>` | :ref:`texture_rotation<class_Polygon2D_property_texture_rotation>` | |
  42. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  43. | :ref:`float<class_float>` | :ref:`texture_rotation_degrees<class_Polygon2D_property_texture_rotation_degrees>` | ``0.0`` |
  44. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  45. | :ref:`Vector2<class_Vector2>` | :ref:`texture_scale<class_Polygon2D_property_texture_scale>` | ``Vector2( 1, 1 )`` |
  46. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  47. | :ref:`PoolVector2Array<class_PoolVector2Array>` | :ref:`uv<class_Polygon2D_property_uv>` | ``PoolVector2Array( )`` |
  48. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  49. | :ref:`PoolColorArray<class_PoolColorArray>` | :ref:`vertex_colors<class_Polygon2D_property_vertex_colors>` | ``PoolColorArray( )`` |
  50. +-------------------------------------------------+------------------------------------------------------------------------------------+--------------------------+
  51. Methods
  52. -------
  53. +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | void | :ref:`add_bone<class_Polygon2D_method_add_bone>` **(** :ref:`NodePath<class_NodePath>` path, :ref:`PoolRealArray<class_PoolRealArray>` weights **)** |
  55. +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | void | :ref:`clear_bones<class_Polygon2D_method_clear_bones>` **(** **)** |
  57. +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | void | :ref:`erase_bone<class_Polygon2D_method_erase_bone>` **(** :ref:`int<class_int>` index **)** |
  59. +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. | :ref:`int<class_int>` | :ref:`get_bone_count<class_Polygon2D_method_get_bone_count>` **(** **)** |const| |
  61. +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
  62. | :ref:`NodePath<class_NodePath>` | :ref:`get_bone_path<class_Polygon2D_method_get_bone_path>` **(** :ref:`int<class_int>` index **)** |const| |
  63. +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
  64. | :ref:`PoolRealArray<class_PoolRealArray>` | :ref:`get_bone_weights<class_Polygon2D_method_get_bone_weights>` **(** :ref:`int<class_int>` index **)** |const| |
  65. +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
  66. | void | :ref:`set_bone_path<class_Polygon2D_method_set_bone_path>` **(** :ref:`int<class_int>` index, :ref:`NodePath<class_NodePath>` path **)** |
  67. +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
  68. | void | :ref:`set_bone_weights<class_Polygon2D_method_set_bone_weights>` **(** :ref:`int<class_int>` index, :ref:`PoolRealArray<class_PoolRealArray>` weights **)** |
  69. +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
  70. Property Descriptions
  71. ---------------------
  72. .. _class_Polygon2D_property_antialiased:
  73. - :ref:`bool<class_bool>` **antialiased**
  74. +-----------+------------------------+
  75. | *Default* | ``false`` |
  76. +-----------+------------------------+
  77. | *Setter* | set_antialiased(value) |
  78. +-----------+------------------------+
  79. | *Getter* | get_antialiased() |
  80. +-----------+------------------------+
  81. If ``true``, polygon edges will be anti-aliased.
  82. ----
  83. .. _class_Polygon2D_property_bones:
  84. - :ref:`Array<class_Array>` **bones**
  85. +-----------+----------+
  86. | *Default* | ``[ ]`` |
  87. +-----------+----------+
  88. ----
  89. .. _class_Polygon2D_property_color:
  90. - :ref:`Color<class_Color>` **color**
  91. +-----------+-------------------------+
  92. | *Default* | ``Color( 1, 1, 1, 1 )`` |
  93. +-----------+-------------------------+
  94. | *Setter* | set_color(value) |
  95. +-----------+-------------------------+
  96. | *Getter* | get_color() |
  97. +-----------+-------------------------+
  98. 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``.
  99. ----
  100. .. _class_Polygon2D_property_internal_vertex_count:
  101. - :ref:`int<class_int>` **internal_vertex_count**
  102. +-----------+----------------------------------+
  103. | *Default* | ``0`` |
  104. +-----------+----------------------------------+
  105. | *Setter* | set_internal_vertex_count(value) |
  106. +-----------+----------------------------------+
  107. | *Getter* | get_internal_vertex_count() |
  108. +-----------+----------------------------------+
  109. ----
  110. .. _class_Polygon2D_property_invert_border:
  111. - :ref:`float<class_float>` **invert_border**
  112. +-----------+--------------------------+
  113. | *Default* | ``100.0`` |
  114. +-----------+--------------------------+
  115. | *Setter* | set_invert_border(value) |
  116. +-----------+--------------------------+
  117. | *Getter* | get_invert_border() |
  118. +-----------+--------------------------+
  119. Added padding applied to the bounding box when using ``invert``. Setting this value too small may result in a "Bad Polygon" error.
  120. ----
  121. .. _class_Polygon2D_property_invert_enable:
  122. - :ref:`bool<class_bool>` **invert_enable**
  123. +-----------+-------------------+
  124. | *Default* | ``false`` |
  125. +-----------+-------------------+
  126. | *Setter* | set_invert(value) |
  127. +-----------+-------------------+
  128. | *Getter* | get_invert() |
  129. +-----------+-------------------+
  130. If ``true``, polygon will be inverted, containing the area outside the defined points and extending to the ``invert_border``.
  131. ----
  132. .. _class_Polygon2D_property_offset:
  133. - :ref:`Vector2<class_Vector2>` **offset**
  134. +-----------+---------------------+
  135. | *Default* | ``Vector2( 0, 0 )`` |
  136. +-----------+---------------------+
  137. | *Setter* | set_offset(value) |
  138. +-----------+---------------------+
  139. | *Getter* | get_offset() |
  140. +-----------+---------------------+
  141. The offset applied to each vertex.
  142. ----
  143. .. _class_Polygon2D_property_polygon:
  144. - :ref:`PoolVector2Array<class_PoolVector2Array>` **polygon**
  145. +-----------+--------------------------+
  146. | *Default* | ``PoolVector2Array( )`` |
  147. +-----------+--------------------------+
  148. | *Setter* | set_polygon(value) |
  149. +-----------+--------------------------+
  150. | *Getter* | get_polygon() |
  151. +-----------+--------------------------+
  152. The polygon's list of vertices. The final point will be connected to the first.
  153. **Note:** This returns a copy of the :ref:`PoolVector2Array<class_PoolVector2Array>` rather than a reference.
  154. ----
  155. .. _class_Polygon2D_property_polygons:
  156. - :ref:`Array<class_Array>` **polygons**
  157. +-----------+---------------------+
  158. | *Default* | ``[ ]`` |
  159. +-----------+---------------------+
  160. | *Setter* | set_polygons(value) |
  161. +-----------+---------------------+
  162. | *Getter* | get_polygons() |
  163. +-----------+---------------------+
  164. ----
  165. .. _class_Polygon2D_property_skeleton:
  166. - :ref:`NodePath<class_NodePath>` **skeleton**
  167. +-----------+---------------------+
  168. | *Default* | ``NodePath("")`` |
  169. +-----------+---------------------+
  170. | *Setter* | set_skeleton(value) |
  171. +-----------+---------------------+
  172. | *Getter* | get_skeleton() |
  173. +-----------+---------------------+
  174. ----
  175. .. _class_Polygon2D_property_texture:
  176. - :ref:`Texture<class_Texture>` **texture**
  177. +----------+--------------------+
  178. | *Setter* | set_texture(value) |
  179. +----------+--------------------+
  180. | *Getter* | get_texture() |
  181. +----------+--------------------+
  182. The polygon's fill texture. Use ``uv`` to set texture coordinates.
  183. ----
  184. .. _class_Polygon2D_property_texture_offset:
  185. - :ref:`Vector2<class_Vector2>` **texture_offset**
  186. +-----------+---------------------------+
  187. | *Default* | ``Vector2( 0, 0 )`` |
  188. +-----------+---------------------------+
  189. | *Setter* | set_texture_offset(value) |
  190. +-----------+---------------------------+
  191. | *Getter* | get_texture_offset() |
  192. +-----------+---------------------------+
  193. 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``.
  194. ----
  195. .. _class_Polygon2D_property_texture_rotation:
  196. - :ref:`float<class_float>` **texture_rotation**
  197. +----------+-----------------------------+
  198. | *Setter* | set_texture_rotation(value) |
  199. +----------+-----------------------------+
  200. | *Getter* | get_texture_rotation() |
  201. +----------+-----------------------------+
  202. The texture's rotation in radians.
  203. ----
  204. .. _class_Polygon2D_property_texture_rotation_degrees:
  205. - :ref:`float<class_float>` **texture_rotation_degrees**
  206. +-----------+-------------------------------------+
  207. | *Default* | ``0.0`` |
  208. +-----------+-------------------------------------+
  209. | *Setter* | set_texture_rotation_degrees(value) |
  210. +-----------+-------------------------------------+
  211. | *Getter* | get_texture_rotation_degrees() |
  212. +-----------+-------------------------------------+
  213. The texture's rotation in degrees.
  214. ----
  215. .. _class_Polygon2D_property_texture_scale:
  216. - :ref:`Vector2<class_Vector2>` **texture_scale**
  217. +-----------+--------------------------+
  218. | *Default* | ``Vector2( 1, 1 )`` |
  219. +-----------+--------------------------+
  220. | *Setter* | set_texture_scale(value) |
  221. +-----------+--------------------------+
  222. | *Getter* | get_texture_scale() |
  223. +-----------+--------------------------+
  224. Amount to multiply the ``uv`` coordinates when using a ``texture``. Larger values make the texture smaller, and vice versa.
  225. ----
  226. .. _class_Polygon2D_property_uv:
  227. - :ref:`PoolVector2Array<class_PoolVector2Array>` **uv**
  228. +-----------+--------------------------+
  229. | *Default* | ``PoolVector2Array( )`` |
  230. +-----------+--------------------------+
  231. | *Setter* | set_uv(value) |
  232. +-----------+--------------------------+
  233. | *Getter* | get_uv() |
  234. +-----------+--------------------------+
  235. 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)``.
  236. ----
  237. .. _class_Polygon2D_property_vertex_colors:
  238. - :ref:`PoolColorArray<class_PoolColorArray>` **vertex_colors**
  239. +-----------+--------------------------+
  240. | *Default* | ``PoolColorArray( )`` |
  241. +-----------+--------------------------+
  242. | *Setter* | set_vertex_colors(value) |
  243. +-----------+--------------------------+
  244. | *Getter* | get_vertex_colors() |
  245. +-----------+--------------------------+
  246. 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``.
  247. Method Descriptions
  248. -------------------
  249. .. _class_Polygon2D_method_add_bone:
  250. - void **add_bone** **(** :ref:`NodePath<class_NodePath>` path, :ref:`PoolRealArray<class_PoolRealArray>` weights **)**
  251. Adds a bone with the specified ``path`` and ``weights``.
  252. ----
  253. .. _class_Polygon2D_method_clear_bones:
  254. - void **clear_bones** **(** **)**
  255. Removes all bones from this ``Polygon2D``.
  256. ----
  257. .. _class_Polygon2D_method_erase_bone:
  258. - void **erase_bone** **(** :ref:`int<class_int>` index **)**
  259. Removes the specified bone from this ``Polygon2D``.
  260. ----
  261. .. _class_Polygon2D_method_get_bone_count:
  262. - :ref:`int<class_int>` **get_bone_count** **(** **)** |const|
  263. Returns the number of bones in this ``Polygon2D``.
  264. ----
  265. .. _class_Polygon2D_method_get_bone_path:
  266. - :ref:`NodePath<class_NodePath>` **get_bone_path** **(** :ref:`int<class_int>` index **)** |const|
  267. Returns the path to the node associated with the specified bone.
  268. ----
  269. .. _class_Polygon2D_method_get_bone_weights:
  270. - :ref:`PoolRealArray<class_PoolRealArray>` **get_bone_weights** **(** :ref:`int<class_int>` index **)** |const|
  271. Returns the height values of the specified bone.
  272. ----
  273. .. _class_Polygon2D_method_set_bone_path:
  274. - void **set_bone_path** **(** :ref:`int<class_int>` index, :ref:`NodePath<class_NodePath>` path **)**
  275. Sets the path to the node associated with the specified bone.
  276. ----
  277. .. _class_Polygon2D_method_set_bone_weights:
  278. - void **set_bone_weights** **(** :ref:`int<class_int>` index, :ref:`PoolRealArray<class_PoolRealArray>` weights **)**
  279. Sets the weight values for the specified bone.
  280. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  281. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  282. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`