Physics2DDirectBodyState

Inherits: Object

Direct access object to a physics body in the Physics2DServer.

Descripción

Proporciona acceso directo a un cuerpo físico en el Physics2DServer, permitiendo cambios seguros en las propiedades físicas. Este objeto pasa a través de la llamada de estado directo de los cuerpos rígidos/característicos, y está destinado a cambiar el estado directo de ese cuerpo. Ver RigidBody2D._integrate_forces.

Tutoriales

Propiedades

float

angular_velocity

float

inverse_inertia

float

inverse_mass

Vector2

linear_velocity

bool

sleeping

float

step

float

total_angular_damp

Vector2

total_gravity

float

total_linear_damp

Transform2D

transform

Métodos

void

add_central_force ( Vector2 force )

void

add_force ( Vector2 offset, Vector2 force )

void

add_torque ( float torque )

void

apply_central_impulse ( Vector2 impulse )

void

apply_impulse ( Vector2 offset, Vector2 impulse )

void

apply_torque_impulse ( float impulse )

RID

get_contact_collider ( int contact_idx ) const

int

get_contact_collider_id ( int contact_idx ) const

Object

get_contact_collider_object ( int contact_idx ) const

Vector2

get_contact_collider_position ( int contact_idx ) const

int

get_contact_collider_shape ( int contact_idx ) const

Variant

get_contact_collider_shape_metadata ( int contact_idx ) const

Vector2

get_contact_collider_velocity_at_position ( int contact_idx ) const

int

get_contact_count ( ) const

Vector2

get_contact_local_normal ( int contact_idx ) const

Vector2

get_contact_local_position ( int contact_idx ) const

int

get_contact_local_shape ( int contact_idx ) const

Physics2DDirectSpaceState

get_space_state ( )

Vector2

get_velocity_at_local_position ( Vector2 local_position ) const

void

integrate_forces ( )

Descripciones de Propiedades

Setter

set_angular_velocity(value)

Getter

get_angular_velocity()

The body's rotational velocity in radians per second.


Getter

get_inverse_inertia()

El inverso de la inercia del cuerpo.


Getter

get_inverse_mass()

El inverso de la masa del cuerpo.


Setter

set_linear_velocity(value)

Getter

get_linear_velocity()

The body's linear velocity in pixels per second.


Setter

set_sleep_state(value)

Getter

is_sleeping()

Si true, este cuerpo está actualmente durmiendo (no está activo).


Getter

get_step()

El paso temporal (delta) utilizado para la simulación.


  • float total_angular_damp

Getter

get_total_angular_damp()

La velocidad a la que el cuerpo deja de girar, si no hay otras fuerzas que lo muevan.


Getter

get_total_gravity()

El vector de gravedad total que se aplica actualmente a este cuerpo.


  • float total_linear_damp

Getter

get_total_linear_damp()

La velocidad a la que el cuerpo deja de moverse, si no hay otras fuerzas que lo muevan.


Setter

set_transform(value)

Getter

get_transform()

La matriz de transformación del cuerpo.

Descripciones de Métodos

  • void add_central_force ( Vector2 force )

Añade una fuerza direccional constante sin afectar a la rotación.


Añade una fuerza posicionada al cuerpo. Tanto la fuerza como el desplazamiento del origen del cuerpo están en coordenadas globales.


  • void add_torque ( float torque )

Añade una fuerza de rotación constante.


  • void apply_central_impulse ( Vector2 impulse )

Aplica un impulso direccional sin afectar a la rotación.


Aplica un impulso posicionado al cuerpo. ¡Un impulso es independiente del tiempo! Aplicar un impulso en cada cuadro resultaría en una fuerza dependiente del cuadro. Por esta razón, sólo debe utilizarse cuando se simulan impactos únicos (de lo contrario, utilice las funciones "_force"). El desplazamiento utiliza la rotación del sistema de coordenadas globales, pero está centrado en el origen del objeto.


  • void apply_torque_impulse ( float impulse )

Aplica un impulso de rotación al cuerpo.


  • RID get_contact_collider ( int contact_idx ) const

Devuelve el RID del colisionador.


  • int get_contact_collider_id ( int contact_idx ) const

Devuelve la identificación del objeto del colisionador.


  • Object get_contact_collider_object ( int contact_idx ) const

Devuelve el objeto del colisionador. Esto depende de cómo fue creado (devolverá un nodo de la escena si tal fue usado para crearlo).


  • Vector2 get_contact_collider_position ( int contact_idx ) const

Devuelve la posición de contacto en el colisionador.


  • int get_contact_collider_shape ( int contact_idx ) const

Devuelve el índice de forma del colisionador.


  • Variant get_contact_collider_shape_metadata ( int contact_idx ) const

Returns the collided shape's metadata. This metadata is different from Object.get_meta, and is set with Physics2DServer.shape_set_data.


  • Vector2 get_contact_collider_velocity_at_position ( int contact_idx ) const

Devuelve el vector de velocidad lineal en el punto de contacto del colisionador.


  • int get_contact_count ( ) const

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. Ver RigidBody2D.contact_monitor.


  • Vector2 get_contact_local_normal ( int contact_idx ) const

Devuelve la normalidad local en el punto de contacto.


  • Vector2 get_contact_local_position ( int contact_idx ) const

Devuelve la posición local del punto de contacto.


  • int get_contact_local_shape ( int contact_idx ) const

Devuelve el índice de forma local de la colisión.


Devuelve el estado actual del espacio, útil para las consultas.


  • Vector2 get_velocity_at_local_position ( Vector2 local_position ) const

Returns the body's velocity at the given relative position, including both translation and rotation.


  • void integrate_forces ( )

Llama al código de integración de fuerzas incorporado.