Files
godot-docs/classes/class_joint2d.rst
2022-02-01 16:35:13 +01:00

109 lines
4.8 KiB
ReStructuredText

:github_url: hide
.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the Joint2D.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_Joint2D:
Joint2D
=======
**Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
**Inherited By:** :ref:`DampedSpringJoint2D<class_DampedSpringJoint2D>`, :ref:`GrooveJoint2D<class_GrooveJoint2D>`, :ref:`PinJoint2D<class_PinJoint2D>`
Base node for all joint constraints in 2D physics.
Description
-----------
Base node for all joint constraints in 2D physics. Joints take 2 bodies and apply a custom constraint.
Properties
----------
+---------------------------------+--------------------------------------------------------------------+------------------+
| :ref:`float<class_float>` | :ref:`bias<class_Joint2D_property_bias>` | ``0.0`` |
+---------------------------------+--------------------------------------------------------------------+------------------+
| :ref:`bool<class_bool>` | :ref:`disable_collision<class_Joint2D_property_disable_collision>` | ``true`` |
+---------------------------------+--------------------------------------------------------------------+------------------+
| :ref:`NodePath<class_NodePath>` | :ref:`node_a<class_Joint2D_property_node_a>` | ``NodePath("")`` |
+---------------------------------+--------------------------------------------------------------------+------------------+
| :ref:`NodePath<class_NodePath>` | :ref:`node_b<class_Joint2D_property_node_b>` | ``NodePath("")`` |
+---------------------------------+--------------------------------------------------------------------+------------------+
Property Descriptions
---------------------
.. _class_Joint2D_property_bias:
- :ref:`float<class_float>` **bias**
+-----------+-----------------+
| *Default* | ``0.0`` |
+-----------+-----------------+
| *Setter* | set_bias(value) |
+-----------+-----------------+
| *Getter* | get_bias() |
+-----------+-----------------+
When :ref:`node_a<class_Joint2D_property_node_a>` and :ref:`node_b<class_Joint2D_property_node_b>` move in different directions the ``bias`` controls how fast the joint pulls them back to their original position. The lower the ``bias`` the more the two bodies can pull on the joint.
When set to ``0``, the default value from :ref:`ProjectSettings.physics/2d/solver/default_constraint_bias<class_ProjectSettings_property_physics/2d/solver/default_constraint_bias>` is used.
----
.. _class_Joint2D_property_disable_collision:
- :ref:`bool<class_bool>` **disable_collision**
+-----------+-----------------------------------------+
| *Default* | ``true`` |
+-----------+-----------------------------------------+
| *Setter* | set_exclude_nodes_from_collision(value) |
+-----------+-----------------------------------------+
| *Getter* | get_exclude_nodes_from_collision() |
+-----------+-----------------------------------------+
If ``true``, :ref:`node_a<class_Joint2D_property_node_a>` and :ref:`node_b<class_Joint2D_property_node_b>` can not collide.
----
.. _class_Joint2D_property_node_a:
- :ref:`NodePath<class_NodePath>` **node_a**
+-----------+-------------------+
| *Default* | ``NodePath("")`` |
+-----------+-------------------+
| *Setter* | set_node_a(value) |
+-----------+-------------------+
| *Getter* | get_node_a() |
+-----------+-------------------+
The first body attached to the joint. Must derive from :ref:`PhysicsBody2D<class_PhysicsBody2D>`.
----
.. _class_Joint2D_property_node_b:
- :ref:`NodePath<class_NodePath>` **node_b**
+-----------+-------------------+
| *Default* | ``NodePath("")`` |
+-----------+-------------------+
| *Setter* | set_node_b(value) |
+-----------+-------------------+
| *Getter* | get_node_b() |
+-----------+-------------------+
The second body attached to the joint. Must derive from :ref:`PhysicsBody2D<class_PhysicsBody2D>`.
.. |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.)`
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`