pandemonium_engine_docs/classes/class_collisionpolygon2d.rst

138 lines
6.1 KiB
ReStructuredText

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/CollisionPolygon2D.xml.
.. _class_CollisionPolygon2D:
CollisionPolygon2D
==================
**Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
Defines a 2D collision polygon.
Description
-----------
Provides a 2D collision polygon to a :ref:`CollisionObject2D<class_CollisionObject2D>` parent. Polygons can be drawn in the editor or specified by a list of vertices.
Properties
----------
+-----------------------------------------------------+---------------------------------------------------------------------------------------------+--------------------------+
| :ref:`BuildMode<enum_CollisionPolygon2D_BuildMode>` | :ref:`build_mode<class_CollisionPolygon2D_property_build_mode>` | ``0`` |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------+--------------------------+
| :ref:`bool<class_bool>` | :ref:`disabled<class_CollisionPolygon2D_property_disabled>` | ``false`` |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------+--------------------------+
| :ref:`bool<class_bool>` | :ref:`one_way_collision<class_CollisionPolygon2D_property_one_way_collision>` | ``false`` |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------+--------------------------+
| :ref:`float<class_float>` | :ref:`one_way_collision_margin<class_CollisionPolygon2D_property_one_way_collision_margin>` | ``1.0`` |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------+--------------------------+
| :ref:`PoolVector2Array<class_PoolVector2Array>` | :ref:`polygon<class_CollisionPolygon2D_property_polygon>` | ``PoolVector2Array( )`` |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------+--------------------------+
Enumerations
------------
.. _enum_CollisionPolygon2D_BuildMode:
.. _class_CollisionPolygon2D_constant_BUILD_SOLIDS:
.. _class_CollisionPolygon2D_constant_BUILD_SEGMENTS:
enum **BuildMode**:
- **BUILD_SOLIDS** = **0** --- Collisions will include the polygon and its contained area.
- **BUILD_SEGMENTS** = **1** --- Collisions will only include the polygon edges.
Property Descriptions
---------------------
.. _class_CollisionPolygon2D_property_build_mode:
- :ref:`BuildMode<enum_CollisionPolygon2D_BuildMode>` **build_mode**
+-----------+-----------------------+
| *Default* | ``0`` |
+-----------+-----------------------+
| *Setter* | set_build_mode(value) |
+-----------+-----------------------+
| *Getter* | get_build_mode() |
+-----------+-----------------------+
Collision build mode. Use one of the :ref:`BuildMode<enum_CollisionPolygon2D_BuildMode>` constants.
----
.. _class_CollisionPolygon2D_property_disabled:
- :ref:`bool<class_bool>` **disabled**
+-----------+---------------------+
| *Default* | ``false`` |
+-----------+---------------------+
| *Setter* | set_disabled(value) |
+-----------+---------------------+
| *Getter* | is_disabled() |
+-----------+---------------------+
If ``true``, no collisions will be detected.
----
.. _class_CollisionPolygon2D_property_one_way_collision:
- :ref:`bool<class_bool>` **one_way_collision**
+-----------+--------------------------------+
| *Default* | ``false`` |
+-----------+--------------------------------+
| *Setter* | set_one_way_collision(value) |
+-----------+--------------------------------+
| *Getter* | is_one_way_collision_enabled() |
+-----------+--------------------------------+
If ``true``, only edges that face up, relative to ``CollisionPolygon2D``'s rotation, will collide with other objects.
\ **Note:** This property has no effect if this ``CollisionPolygon2D`` is a child of an :ref:`Area2D<class_Area2D>` node.
----
.. _class_CollisionPolygon2D_property_one_way_collision_margin:
- :ref:`float<class_float>` **one_way_collision_margin**
+-----------+-------------------------------------+
| *Default* | ``1.0`` |
+-----------+-------------------------------------+
| *Setter* | set_one_way_collision_margin(value) |
+-----------+-------------------------------------+
| *Getter* | get_one_way_collision_margin() |
+-----------+-------------------------------------+
The margin used for one-way collision (in pixels). Higher values will make the shape thicker, and work better for colliders that enter the polygon at a high velocity.
----
.. _class_CollisionPolygon2D_property_polygon:
- :ref:`PoolVector2Array<class_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. The returned value is a clone of the :ref:`PoolVector2Array<class_PoolVector2Array>`, not a reference.
.. |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.)`