classref: Sync with latest 4.0-dev

This commit is contained in:
Rémi Verschelde
2021-10-05 16:09:21 +02:00
parent 6952796767
commit f6f6c1bf19
958 changed files with 113054 additions and 52009 deletions

View File

@@ -11,25 +11,33 @@ StaticBody2D
**Inherits:** :ref:`PhysicsBody2D<class_PhysicsBody2D>` **<** :ref:`CollisionObject2D<class_CollisionObject2D>` **<** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
Static body for 2D physics.
**Inherited By:** :ref:`AnimatableBody2D<class_AnimatableBody2D>`
Physics body for 2D physics which is static or moves only by script. Useful for floor and walls.
Description
-----------
Static body for 2D physics. A StaticBody2D is a body that is not intended to move. It is ideal for implementing objects in the environment, such as walls or platforms.
Static body for 2D physics.
Additionally, a constant linear or angular velocity can be set for the static body, which will affect colliding bodies as if it were moving (for example, a conveyor belt).
A static body is a simple body that can't be moved by external forces or contacts. It is ideal for implementing objects in the environment, such as walls or platforms. In contrast to :ref:`RigidDynamicBody2D<class_RigidDynamicBody2D>`, it doesn't consume any CPU resources as long as they don't move.
They have extra functionalities to move and affect other bodies:
**Static transform change:** Static bodies can be moved by animation or script. In this case, they are just teleported and don't affect other bodies on their path.
**Constant velocity:** When :ref:`constant_linear_velocity<class_StaticBody2D_property_constant_linear_velocity>` or :ref:`constant_angular_velocity<class_StaticBody2D_property_constant_angular_velocity>` is set, static bodies don't move themselves but affect touching bodies as if they were moving. This is useful for simulating conveyor belts or conveyor wheels.
Properties
----------
+-----------------------------------------------+-----------------------------------------------------------------------------------------+---------------------+
| :ref:`float<class_float>` | :ref:`constant_angular_velocity<class_StaticBody2D_property_constant_angular_velocity>` | ``0.0`` |
+-----------------------------------------------+-----------------------------------------------------------------------------------------+---------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`constant_linear_velocity<class_StaticBody2D_property_constant_linear_velocity>` | ``Vector2( 0, 0 )`` |
+-----------------------------------------------+-----------------------------------------------------------------------------------------+---------------------+
| :ref:`PhysicsMaterial<class_PhysicsMaterial>` | :ref:`physics_material_override<class_StaticBody2D_property_physics_material_override>` | |
+-----------------------------------------------+-----------------------------------------------------------------------------------------+---------------------+
+-----------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
| :ref:`float<class_float>` | :ref:`constant_angular_velocity<class_StaticBody2D_property_constant_angular_velocity>` | ``0.0`` |
+-----------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`constant_linear_velocity<class_StaticBody2D_property_constant_linear_velocity>` | ``Vector2(0, 0)`` |
+-----------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
| :ref:`PhysicsMaterial<class_PhysicsMaterial>` | :ref:`physics_material_override<class_StaticBody2D_property_physics_material_override>` | |
+-----------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
Property Descriptions
---------------------
@@ -46,7 +54,7 @@ Property Descriptions
| *Getter* | get_constant_angular_velocity() |
+-----------+--------------------------------------+
The body's constant angular velocity. This does not rotate the body, but affects colliding bodies, as if it were rotating.
The body's constant angular velocity. This does not rotate the body, but affects touching bodies, as if it were rotating.
----
@@ -55,14 +63,14 @@ The body's constant angular velocity. This does not rotate the body, but affects
- :ref:`Vector2<class_Vector2>` **constant_linear_velocity**
+-----------+-------------------------------------+
| *Default* | ``Vector2( 0, 0 )`` |
| *Default* | ``Vector2(0, 0)`` |
+-----------+-------------------------------------+
| *Setter* | set_constant_linear_velocity(value) |
+-----------+-------------------------------------+
| *Getter* | get_constant_linear_velocity() |
+-----------+-------------------------------------+
The body's constant linear velocity. This does not move the body, but affects colliding bodies, as if it were moving.
The body's constant linear velocity. This does not move the body, but affects touching bodies, as if it were moving.
----
@@ -80,3 +88,9 @@ The physics material override for the body.
If a material is assigned to this property, it will be used instead of any other physics material, such as an inherited one.
.. |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.)`