Files
godot-docs-l10n/classes/es/class_physicsdirectbodystate2d.rst
2025-12-19 14:34:07 +01:00

751 lines
41 KiB
ReStructuredText

:github_url: hide
.. _class_PhysicsDirectBodyState2D:
PhysicsDirectBodyState2D
========================
**Hereda:** :ref:`Object<class_Object>`
**Heredado por:** :ref:`PhysicsDirectBodyState2DExtension<class_PhysicsDirectBodyState2DExtension>`
Proporciona acceso directo a un cuerpo de física en :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
.. rst-class:: classref-introduction-group
Descripción
----------------------
Provides direct access to a physics body in the :ref:`PhysicsServer2D<class_PhysicsServer2D>`, allowing safe changes to physics properties. This object is passed via the direct state callback of :ref:`RigidBody2D<class_RigidBody2D>`, and is intended for changing the direct state of that body. See :ref:`RigidBody2D._integrate_forces()<class_RigidBody2D_private_method__integrate_forces>`.
.. rst-class:: classref-introduction-group
Tutoriales
--------------------
- :doc:`Introducción a la física <../tutorials/physics/physics_introduction>`
- :doc:`Ray casting <../tutorials/physics/ray-casting>`
.. rst-class:: classref-reftable-group
Propiedades
----------------------
.. table::
:widths: auto
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`angular_velocity<class_PhysicsDirectBodyState2D_property_angular_velocity>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`center_of_mass<class_PhysicsDirectBodyState2D_property_center_of_mass>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`center_of_mass_local<class_PhysicsDirectBodyState2D_property_center_of_mass_local>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`collision_layer<class_PhysicsDirectBodyState2D_property_collision_layer>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`collision_mask<class_PhysicsDirectBodyState2D_property_collision_mask>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`inverse_inertia<class_PhysicsDirectBodyState2D_property_inverse_inertia>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`inverse_mass<class_PhysicsDirectBodyState2D_property_inverse_mass>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`linear_velocity<class_PhysicsDirectBodyState2D_property_linear_velocity>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`sleeping<class_PhysicsDirectBodyState2D_property_sleeping>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`step<class_PhysicsDirectBodyState2D_property_step>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`total_angular_damp<class_PhysicsDirectBodyState2D_property_total_angular_damp>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`total_gravity<class_PhysicsDirectBodyState2D_property_total_gravity>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`total_linear_damp<class_PhysicsDirectBodyState2D_property_total_linear_damp>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
| :ref:`Transform2D<class_Transform2D>` | :ref:`transform<class_PhysicsDirectBodyState2D_property_transform>` |
+---------------------------------------+-------------------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
Métodos
--------------
.. table::
:widths: auto
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_constant_central_force<class_PhysicsDirectBodyState2D_method_add_constant_central_force>`\ (\ force\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_constant_force<class_PhysicsDirectBodyState2D_method_add_constant_force>`\ (\ force\: :ref:`Vector2<class_Vector2>`, position\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_constant_torque<class_PhysicsDirectBodyState2D_method_add_constant_torque>`\ (\ torque\: :ref:`float<class_float>`\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`apply_central_force<class_PhysicsDirectBodyState2D_method_apply_central_force>`\ (\ force\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`apply_central_impulse<class_PhysicsDirectBodyState2D_method_apply_central_impulse>`\ (\ impulse\: :ref:`Vector2<class_Vector2>`\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`apply_force<class_PhysicsDirectBodyState2D_method_apply_force>`\ (\ force\: :ref:`Vector2<class_Vector2>`, position\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`apply_impulse<class_PhysicsDirectBodyState2D_method_apply_impulse>`\ (\ impulse\: :ref:`Vector2<class_Vector2>`, position\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`apply_torque<class_PhysicsDirectBodyState2D_method_apply_torque>`\ (\ torque\: :ref:`float<class_float>`\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`apply_torque_impulse<class_PhysicsDirectBodyState2D_method_apply_torque_impulse>`\ (\ impulse\: :ref:`float<class_float>`\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_constant_force<class_PhysicsDirectBodyState2D_method_get_constant_force>`\ (\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_constant_torque<class_PhysicsDirectBodyState2D_method_get_constant_torque>`\ (\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_contact_collider<class_PhysicsDirectBodyState2D_method_get_contact_collider>`\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_contact_collider_id<class_PhysicsDirectBodyState2D_method_get_contact_collider_id>`\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Object<class_Object>` | :ref:`get_contact_collider_object<class_PhysicsDirectBodyState2D_method_get_contact_collider_object>`\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_contact_collider_position<class_PhysicsDirectBodyState2D_method_get_contact_collider_position>`\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_contact_collider_shape<class_PhysicsDirectBodyState2D_method_get_contact_collider_shape>`\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_contact_collider_velocity_at_position<class_PhysicsDirectBodyState2D_method_get_contact_collider_velocity_at_position>`\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_contact_count<class_PhysicsDirectBodyState2D_method_get_contact_count>`\ (\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_contact_impulse<class_PhysicsDirectBodyState2D_method_get_contact_impulse>`\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_contact_local_normal<class_PhysicsDirectBodyState2D_method_get_contact_local_normal>`\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_contact_local_position<class_PhysicsDirectBodyState2D_method_get_contact_local_position>`\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_contact_local_shape<class_PhysicsDirectBodyState2D_method_get_contact_local_shape>`\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_contact_local_velocity_at_position<class_PhysicsDirectBodyState2D_method_get_contact_local_velocity_at_position>`\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PhysicsDirectSpaceState2D<class_PhysicsDirectSpaceState2D>` | :ref:`get_space_state<class_PhysicsDirectBodyState2D_method_get_space_state>`\ (\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_velocity_at_local_position<class_PhysicsDirectBodyState2D_method_get_velocity_at_local_position>`\ (\ local_position\: :ref:`Vector2<class_Vector2>`\ ) |const| |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`integrate_forces<class_PhysicsDirectBodyState2D_method_integrate_forces>`\ (\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_constant_force<class_PhysicsDirectBodyState2D_method_set_constant_force>`\ (\ force\: :ref:`Vector2<class_Vector2>`\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_constant_torque<class_PhysicsDirectBodyState2D_method_set_constant_torque>`\ (\ torque\: :ref:`float<class_float>`\ ) |
+-------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descripciones de Propiedades
--------------------------------------------------------
.. _class_PhysicsDirectBodyState2D_property_angular_velocity:
.. rst-class:: classref-property
:ref:`float<class_float>` **angular_velocity** :ref:`🔗<class_PhysicsDirectBodyState2D_property_angular_velocity>`
.. rst-class:: classref-property-setget
- |void| **set_angular_velocity**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_angular_velocity**\ (\ )
La velocidad de rotación del cuerpo en *radianes* por segundo.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_center_of_mass:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **center_of_mass** :ref:`🔗<class_PhysicsDirectBodyState2D_property_center_of_mass>`
.. rst-class:: classref-property-setget
- :ref:`Vector2<class_Vector2>` **get_center_of_mass**\ (\ )
La posición del centro de masa del cuerpo relativa al centro del cuerpo en el sistema de coordenadas global.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_center_of_mass_local:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **center_of_mass_local** :ref:`🔗<class_PhysicsDirectBodyState2D_property_center_of_mass_local>`
.. rst-class:: classref-property-setget
- :ref:`Vector2<class_Vector2>` **get_center_of_mass_local**\ (\ )
Posición del centro de masa del cuerpo en el sistema de coordenadas local del cuerpo.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_collision_layer:
.. rst-class:: classref-property
:ref:`int<class_int>` **collision_layer** :ref:`🔗<class_PhysicsDirectBodyState2D_property_collision_layer>`
.. rst-class:: classref-property-setget
- |void| **set_collision_layer**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_collision_layer**\ (\ )
La capa de colisión del cuerpo.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_collision_mask:
.. rst-class:: classref-property
:ref:`int<class_int>` **collision_mask** :ref:`🔗<class_PhysicsDirectBodyState2D_property_collision_mask>`
.. rst-class:: classref-property-setget
- |void| **set_collision_mask**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_collision_mask**\ (\ )
La máscara de colisión del cuerpo.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_inverse_inertia:
.. rst-class:: classref-property
:ref:`float<class_float>` **inverse_inertia** :ref:`🔗<class_PhysicsDirectBodyState2D_property_inverse_inertia>`
.. rst-class:: classref-property-setget
- :ref:`float<class_float>` **get_inverse_inertia**\ (\ )
El inverso de la inercia del cuerpo.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_inverse_mass:
.. rst-class:: classref-property
:ref:`float<class_float>` **inverse_mass** :ref:`🔗<class_PhysicsDirectBodyState2D_property_inverse_mass>`
.. rst-class:: classref-property-setget
- :ref:`float<class_float>` **get_inverse_mass**\ (\ )
El inverso de la masa del cuerpo.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_linear_velocity:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **linear_velocity** :ref:`🔗<class_PhysicsDirectBodyState2D_property_linear_velocity>`
.. rst-class:: classref-property-setget
- |void| **set_linear_velocity**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
- :ref:`Vector2<class_Vector2>` **get_linear_velocity**\ (\ )
La velocidad lineal del cuerpo en píxeles por segundo.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_sleeping:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **sleeping** :ref:`🔗<class_PhysicsDirectBodyState2D_property_sleeping>`
.. rst-class:: classref-property-setget
- |void| **set_sleep_state**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_sleeping**\ (\ )
Si es ``true``, este cuerpo está actualmente durmiendo (no está activo).
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_step:
.. rst-class:: classref-property
:ref:`float<class_float>` **step** :ref:`🔗<class_PhysicsDirectBodyState2D_property_step>`
.. rst-class:: classref-property-setget
- :ref:`float<class_float>` **get_step**\ (\ )
El paso temporal (delta) utilizado para la simulación.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_total_angular_damp:
.. rst-class:: classref-property
:ref:`float<class_float>` **total_angular_damp** :ref:`🔗<class_PhysicsDirectBodyState2D_property_total_angular_damp>`
.. rst-class:: classref-property-setget
- :ref:`float<class_float>` **get_total_angular_damp**\ (\ )
La velocidad a la que el cuerpo deja de girar, si no hay otras fuerzas que lo muevan.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_total_gravity:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **total_gravity** :ref:`🔗<class_PhysicsDirectBodyState2D_property_total_gravity>`
.. rst-class:: classref-property-setget
- :ref:`Vector2<class_Vector2>` **get_total_gravity**\ (\ )
El vector de gravedad total que se aplica actualmente a este cuerpo.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_total_linear_damp:
.. rst-class:: classref-property
:ref:`float<class_float>` **total_linear_damp** :ref:`🔗<class_PhysicsDirectBodyState2D_property_total_linear_damp>`
.. rst-class:: classref-property-setget
- :ref:`float<class_float>` **get_total_linear_damp**\ (\ )
La velocidad a la que el cuerpo deja de moverse, si no hay otras fuerzas que lo muevan.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_property_transform:
.. rst-class:: classref-property
:ref:`Transform2D<class_Transform2D>` **transform** :ref:`🔗<class_PhysicsDirectBodyState2D_property_transform>`
.. rst-class:: classref-property-setget
- |void| **set_transform**\ (\ value\: :ref:`Transform2D<class_Transform2D>`\ )
- :ref:`Transform2D<class_Transform2D>` **get_transform**\ (\ )
La matriz de transformación del cuerpo.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descripciones de Métodos
------------------------------------------------
.. _class_PhysicsDirectBodyState2D_method_add_constant_central_force:
.. rst-class:: classref-method
|void| **add_constant_central_force**\ (\ force\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_add_constant_central_force>`
Añade una fuerza direccional constante sin afectar la rotación que se sigue aplicando con el tiempo hasta que se borra con ``constant_force = Vector2(0, 0)``.
Esto es equivalente a usar :ref:`add_constant_force()<class_PhysicsDirectBodyState2D_method_add_constant_force>` en el centro de masa del cuerpo.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_add_constant_force:
.. rst-class:: classref-method
|void| **add_constant_force**\ (\ force\: :ref:`Vector2<class_Vector2>`, position\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_add_constant_force>`
Añade una fuerza constante posicionada al cuerpo que se sigue aplicando con el tiempo hasta que se borra con ``constant_force = Vector2(0, 0)``.
\ ``position`` es el desplazamiento desde el origen del cuerpo en coordenadas globales.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_add_constant_torque:
.. rst-class:: classref-method
|void| **add_constant_torque**\ (\ torque\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_add_constant_torque>`
Añade una fuerza rotacional constante sin afectar la posición que se sigue aplicando con el tiempo hasta que se borra con ``constant_torque = 0``.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_apply_central_force:
.. rst-class:: classref-method
|void| **apply_central_force**\ (\ force\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_apply_central_force>`
Aplica una fuerza direccional sin afectar la rotación. Una fuerza depende del tiempo y está pensada para ser aplicada en cada actualización de la física.
Esto es equivalente a usar :ref:`apply_force()<class_PhysicsDirectBodyState2D_method_apply_force>` en el centro de masa del cuerpo.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_apply_central_impulse:
.. rst-class:: classref-method
|void| **apply_central_impulse**\ (\ impulse\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_apply_central_impulse>`
Aplica un impulso direccional sin afectar la rotación.
¡Un impulso es independiente del tiempo! Aplicar un impulso en cada fotograma resultaría en una fuerza dependiente de la velocidad de fotogramas. Por esta razón, solo debe usarse al simular impactos únicos (usa las funciones "_force" en su lugar).
Esto es equivalente a usar :ref:`apply_impulse()<class_PhysicsDirectBodyState2D_method_apply_impulse>` en el centro de masa del cuerpo.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_apply_force:
.. rst-class:: classref-method
|void| **apply_force**\ (\ force\: :ref:`Vector2<class_Vector2>`, position\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_apply_force>`
Aplica una fuerza posicionada al cuerpo. Una fuerza depende del tiempo y está pensada para ser aplicada en cada actualización de la física.
\ ``position`` es el desplazamiento desde el origen del cuerpo en coordenadas globales.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_apply_impulse:
.. rst-class:: classref-method
|void| **apply_impulse**\ (\ impulse\: :ref:`Vector2<class_Vector2>`, position\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_apply_impulse>`
Aplica un impulso posicionado al cuerpo.
¡Un impulso es independiente del tiempo! Aplicar un impulso en cada fotograma resultaría en una fuerza dependiente de la velocidad de fotogramas. Por esta razón, solo debe usarse al simular impactos únicos (usa las funciones "_force" en su lugar).
\ ``position`` es el desplazamiento desde el origen del cuerpo en coordenadas globales.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_apply_torque:
.. rst-class:: classref-method
|void| **apply_torque**\ (\ torque\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_apply_torque>`
Aplica una fuerza rotacional sin afectar la posición. Una fuerza depende del tiempo y está pensada para ser aplicada en cada actualización de la física.
\ **Nota:** :ref:`inverse_inertia<class_PhysicsDirectBodyState2D_property_inverse_inertia>` es requerido para que esto funcione. Para tener :ref:`inverse_inertia<class_PhysicsDirectBodyState2D_property_inverse_inertia>`, una :ref:`CollisionShape2D<class_CollisionShape2D>` activa debe ser hija del nodo, o puedes establecer manualmente :ref:`inverse_inertia<class_PhysicsDirectBodyState2D_property_inverse_inertia>`.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_apply_torque_impulse:
.. rst-class:: classref-method
|void| **apply_torque_impulse**\ (\ impulse\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_apply_torque_impulse>`
Aplica un impulso rotacional al cuerpo sin afectar la posición.
¡Un impulso es independiente del tiempo! Aplicar un impulso en cada fotograma resultaría en una fuerza dependiente de la velocidad de fotogramas. Por esta razón, solo debe usarse al simular impactos únicos (usa las funciones "_force" en su lugar).
\ **Nota:** :ref:`inverse_inertia<class_PhysicsDirectBodyState2D_property_inverse_inertia>` es requerido para que esto funcione. Para tener :ref:`inverse_inertia<class_PhysicsDirectBodyState2D_property_inverse_inertia>`, una :ref:`CollisionShape2D<class_CollisionShape2D>` activa debe ser hija del nodo, o puedes establecer manualmente :ref:`inverse_inertia<class_PhysicsDirectBodyState2D_property_inverse_inertia>`.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_constant_force:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **get_constant_force**\ (\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_constant_force>`
Devuelve las fuerzas posicionales constantes totales del cuerpo aplicadas durante cada actualización de la física.
Véase :ref:`add_constant_force()<class_PhysicsDirectBodyState2D_method_add_constant_force>` y :ref:`add_constant_central_force()<class_PhysicsDirectBodyState2D_method_add_constant_central_force>`.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_constant_torque:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_constant_torque**\ (\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_constant_torque>`
Devuelve las fuerzas rotacionales constantes totales del cuerpo aplicadas durante cada actualización de la física.
Véase :ref:`add_constant_torque()<class_PhysicsDirectBodyState2D_method_add_constant_torque>`.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_contact_collider:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_contact_collider**\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_contact_collider>`
Devuelve el :ref:`RID<class_RID>` del colisionador.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_contact_collider_id:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_contact_collider_id**\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_contact_collider_id>`
Devuelve la identificación del objeto del colisionador.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_contact_collider_object:
.. rst-class:: classref-method
:ref:`Object<class_Object>` **get_contact_collider_object**\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_contact_collider_object>`
Devuelve el objeto del colisionador. Esto depende de cómo fue creado (devolverá un nodo de la escena si tal fue usado para crearlo).
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_contact_collider_position:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **get_contact_collider_position**\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_contact_collider_position>`
Devuelve la posición del punto de contacto en el colisionador en el sistema de coordenadas global.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_contact_collider_shape:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_contact_collider_shape**\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_contact_collider_shape>`
Devuelve el índice de forma del colisionador.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_contact_collider_velocity_at_position:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **get_contact_collider_velocity_at_position**\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_contact_collider_velocity_at_position>`
Devuelve el vector de velocidad en el punto de contacto del colisionador.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_contact_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_contact_count**\ (\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_contact_count>`
Devuelve el número de contactos que este cuerpo tiene con otros cuerpos.
\ **Nota:** Por defecto, esto devuelve 0 a menos que los cuerpos estén configurados para monitorear los contactos. Véase :ref:`RigidBody2D.contact_monitor<class_RigidBody2D_property_contact_monitor>`.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_contact_impulse:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **get_contact_impulse**\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_contact_impulse>`
Devuelve el impulso creado por el contacto.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_contact_local_normal:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **get_contact_local_normal**\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_contact_local_normal>`
Devuelve la normalidad local en el punto de contacto.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_contact_local_position:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **get_contact_local_position**\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_contact_local_position>`
Devuelve la posición del punto de contacto en el cuerpo en el sistema de coordenadas global.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_contact_local_shape:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_contact_local_shape**\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_contact_local_shape>`
Devuelve el índice de forma local de la colisión.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_contact_local_velocity_at_position:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **get_contact_local_velocity_at_position**\ (\ contact_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_contact_local_velocity_at_position>`
Devuelve el vector de velocidad en el punto de contacto del cuerpo.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_space_state:
.. rst-class:: classref-method
:ref:`PhysicsDirectSpaceState2D<class_PhysicsDirectSpaceState2D>` **get_space_state**\ (\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_space_state>`
Devuelve el estado actual del espacio, útil para las consultas.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_get_velocity_at_local_position:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **get_velocity_at_local_position**\ (\ local_position\: :ref:`Vector2<class_Vector2>`\ ) |const| :ref:`🔗<class_PhysicsDirectBodyState2D_method_get_velocity_at_local_position>`
Devuelve la velocidad del cuerpo en la posición relativa dada, incluyendo la traslación y la rotación.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_integrate_forces:
.. rst-class:: classref-method
|void| **integrate_forces**\ (\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_integrate_forces>`
Updates the body's linear and angular velocity by applying gravity and damping for the equivalent of one physics tick.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_set_constant_force:
.. rst-class:: classref-method
|void| **set_constant_force**\ (\ force\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_set_constant_force>`
Establece las fuerzas posicionales constantes totales del cuerpo aplicadas durante cada actualización de la física.
Véase :ref:`add_constant_force()<class_PhysicsDirectBodyState2D_method_add_constant_force>` y :ref:`add_constant_central_force()<class_PhysicsDirectBodyState2D_method_add_constant_central_force>`.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsDirectBodyState2D_method_set_constant_torque:
.. rst-class:: classref-method
|void| **set_constant_torque**\ (\ torque\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsDirectBodyState2D_method_set_constant_torque>`
Establece las fuerzas rotacionales constantes totales del cuerpo aplicadas durante cada actualización de la física.
Véase :ref:`add_constant_torque()<class_PhysicsDirectBodyState2D_method_add_constant_torque>`.
.. |virtual| replace:: :abbr:`virtual (Normalmente, este método debería ser sobreescrito por el usuario para que tenga algún efecto.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Este método no tiene efectos secundarios. No modifica ninguna de las variables miembro de la instancia.)`
.. |vararg| replace:: :abbr:`vararg (Este método permite agregar cualquier número de argumentos después de los descritos aquí.)`
.. |constructor| replace:: :abbr:`constructor (Este método se utiliza para construir un tipo.)`
.. |static| replace:: :abbr:`static (Este método no necesita una instancia para ser llamado, por lo que puede llamarse directamente utilizando el nombre de la clase.)`
.. |operator| replace:: :abbr:`operator (Este método describe un operador válido para usar con este tipo como operando izquierdo.)`
.. |bitfield| replace:: :abbr:`BitField (Este valor es un entero compuesto como una máscara de bits de las siguientes banderas.)`
.. |void| replace:: :abbr:`void (Sin valor de retorno.)`