Physics2DServer

Inherits: Object

Interfaz de servidor para acceso a la física 2D de bajo nivel.

Descripción

Physics2DServer is the server responsible for all 2D physics. It can create many kinds of physics objects, but does not insert them on the node tree.

Métodos

void

area_add_shape ( RID area, RID shape, Transform2D transform=Transform2D( 1, 0, 0, 1, 0, 0 ), bool disabled=false )

void

area_attach_canvas_instance_id ( RID area, int id )

void

area_attach_object_instance_id ( RID area, int id )

void

area_clear_shapes ( RID area )

RID

area_create ( )

int

area_get_canvas_instance_id ( RID area ) const

int

area_get_object_instance_id ( RID area ) const

Variant

area_get_param ( RID area, AreaParameter param ) const

RID

area_get_shape ( RID area, int shape_idx ) const

int

area_get_shape_count ( RID area ) const

Transform2D

area_get_shape_transform ( RID area, int shape_idx ) const

RID

area_get_space ( RID area ) const

AreaSpaceOverrideMode

area_get_space_override_mode ( RID area ) const

Transform2D

area_get_transform ( RID area ) const

void

area_remove_shape ( RID area, int shape_idx )

void

area_set_area_monitor_callback ( RID area, Object receiver, String method )

void

area_set_collision_layer ( RID area, int layer )

void

area_set_collision_mask ( RID area, int mask )

void

area_set_monitor_callback ( RID area, Object receiver, String method )

void

area_set_monitorable ( RID area, bool monitorable )

void

area_set_param ( RID area, AreaParameter param, Variant value )

void

area_set_shape ( RID area, int shape_idx, RID shape )

void

area_set_shape_disabled ( RID area, int shape_idx, bool disabled )

void

area_set_shape_transform ( RID area, int shape_idx, Transform2D transform )

void

area_set_space ( RID area, RID space )

void

area_set_space_override_mode ( RID area, AreaSpaceOverrideMode mode )

void

area_set_transform ( RID area, Transform2D transform )

void

body_add_central_force ( RID body, Vector2 force )

void

body_add_collision_exception ( RID body, RID excepted_body )

void

body_add_force ( RID body, Vector2 offset, Vector2 force )

void

body_add_shape ( RID body, RID shape, Transform2D transform=Transform2D( 1, 0, 0, 1, 0, 0 ), bool disabled=false )

void

body_add_torque ( RID body, float torque )

void

body_apply_central_impulse ( RID body, Vector2 impulse )

void

body_apply_impulse ( RID body, Vector2 position, Vector2 impulse )

void

body_apply_torque_impulse ( RID body, float impulse )

void

body_attach_canvas_instance_id ( RID body, int id )

void

body_attach_object_instance_id ( RID body, int id )

void

body_clear_shapes ( RID body )

RID

body_create ( )

int

body_get_canvas_instance_id ( RID body ) const

int

body_get_collision_layer ( RID body ) const

int

body_get_collision_mask ( RID body ) const

CCDMode

body_get_continuous_collision_detection_mode ( RID body ) const

Physics2DDirectBodyState

body_get_direct_state ( RID body )

int

body_get_max_contacts_reported ( RID body ) const

BodyMode

body_get_mode ( RID body ) const

int

body_get_object_instance_id ( RID body ) const

float

body_get_param ( RID body, BodyParameter param ) const

RID

body_get_shape ( RID body, int shape_idx ) const

int

body_get_shape_count ( RID body ) const

Variant

body_get_shape_metadata ( RID body, int shape_idx ) const

Transform2D

body_get_shape_transform ( RID body, int shape_idx ) const

RID

body_get_space ( RID body ) const

Variant

body_get_state ( RID body, BodyState state ) const

bool

body_is_omitting_force_integration ( RID body ) const

void

body_remove_collision_exception ( RID body, RID excepted_body )

void

body_remove_shape ( RID body, int shape_idx )

void

body_set_axis_velocity ( RID body, Vector2 axis_velocity )

void

body_set_collision_layer ( RID body, int layer )

void

body_set_collision_mask ( RID body, int mask )

void

body_set_continuous_collision_detection_mode ( RID body, CCDMode mode )

void

body_set_force_integration_callback ( RID body, Object receiver, String method, Variant userdata=null )

void

body_set_max_contacts_reported ( RID body, int amount )

void

body_set_mode ( RID body, BodyMode mode )

void

body_set_omit_force_integration ( RID body, bool enable )

void

body_set_param ( RID body, BodyParameter param, float value )

void

body_set_shape ( RID body, int shape_idx, RID shape )

void

body_set_shape_as_one_way_collision ( RID body, int shape_idx, bool enable, float margin )

void

body_set_shape_disabled ( RID body, int shape_idx, bool disabled )

void

body_set_shape_metadata ( RID body, int shape_idx, Variant metadata )

void

body_set_shape_transform ( RID body, int shape_idx, Transform2D transform )

void

body_set_space ( RID body, RID space )

void

body_set_state ( RID body, BodyState state, Variant value )

bool

body_test_motion ( RID body, Transform2D from, Vector2 motion, bool infinite_inertia, float margin=0.08, Physics2DTestMotionResult result=null, bool exclude_raycast_shapes=true, Array exclude=[ ] )

RID

capsule_shape_create ( )

RID

circle_shape_create ( )

RID

concave_polygon_shape_create ( )

RID

convex_polygon_shape_create ( )

RID

damped_spring_joint_create ( Vector2 anchor_a, Vector2 anchor_b, RID body_a, RID body_b )

float

damped_string_joint_get_param ( RID joint, DampedStringParam param ) const

void

damped_string_joint_set_param ( RID joint, DampedStringParam param, float value )

void

free_rid ( RID rid )

int

get_process_info ( ProcessInfo process_info )

RID

groove_joint_create ( Vector2 groove1_a, Vector2 groove2_a, Vector2 anchor_b, RID body_a, RID body_b )

float

joint_get_param ( RID joint, JointParam param ) const

JointType

joint_get_type ( RID joint ) const

void

joint_set_param ( RID joint, JointParam param, float value )

RID

line_shape_create ( )

RID

pin_joint_create ( Vector2 anchor, RID body_a, RID body_b )

RID

ray_shape_create ( )

RID

rectangle_shape_create ( )

RID

segment_shape_create ( )

void

set_active ( bool active )

void

set_collision_iterations ( int iterations )

Variant

shape_get_data ( RID shape ) const

ShapeType

shape_get_type ( RID shape ) const

void

shape_set_data ( RID shape, Variant data )

RID

space_create ( )

Physics2DDirectSpaceState

space_get_direct_state ( RID space )

float

space_get_param ( RID space, SpaceParameter param ) const

bool

space_is_active ( RID space ) const

void

space_set_active ( RID space, bool active )

void

space_set_param ( RID space, SpaceParameter param, float value )

Enumeraciones

enum SpaceParameter:

  • SPACE_PARAM_CONTACT_RECYCLE_RADIUS = 0 --- Constante para fijar/obtener la máxima distancia que un par de cuerpos tiene que moverse antes de que su estado de colisión tenga que ser recalculado.

  • SPACE_PARAM_CONTACT_MAX_SEPARATION = 1 --- Constante para fijar/obtener la máxima distancia que una forma puede ser de otra antes de que se consideren separadas.

  • SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION = 2 --- Constante para fijar/obtener la máxima distancia que una forma puede penetrar en otra forma antes de que se considere una colisión.

  • SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD = 3 --- Constante para fijar/obtener el umbral de velocidad lineal de actividad. Un cuerpo marcado como potencialmente inactivo tanto para la velocidad lineal como para la angular será puesto a dormir después del tiempo dado.

  • SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD = 4 --- Constante para fijar/obtener el umbral de velocidad angular de actividad. Un cuerpo marcado como potencialmente inactivo tanto para la velocidad lineal como para la angular será puesto a dormir después del tiempo dado.

  • SPACE_PARAM_BODY_TIME_TO_SLEEP = 5 --- Constante para fijar/obtener el tiempo máximo de actividad. Un cuerpo marcado como potencialmente inactivo tanto para la velocidad lineal como para la angular será puesto a dormir después de este tiempo.

  • SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS = 6 --- Constante para establecer/obtener el sesgo del solucionador por defecto para todas las restricciones de la física. Un sesgo del solucionador es un factor que controla cuánto "rebotan" dos objetos, después de violar una restricción, para evitar dejarlos en ese estado debido a la imprecisión numérica.


enum ShapeType:

  • SHAPE_LINE = 0 --- Esta es la constante para crear formas de líneas. Una forma de línea es una línea infinita con un punto de origen y una normal. Por lo tanto, se puede utilizar para controles delanteros y traseros.

  • SHAPE_RAY = 1

  • SHAPE_SEGMENT = 2 --- Esta es la constante para crear formas de segmentos. Una forma de segmento es una línea desde un punto A hasta un punto B. Se puede comprobar si hay intersecciones.

  • SHAPE_CIRCLE = 3 --- Esta es la constante para crear formas de círculos. Una forma de círculo sólo tiene un radio. Puede ser usado para intersecciones y controles internos y externos.

  • SHAPE_RECTANGLE = 4 --- Esta es la constante para crear formas de rectángulo. Una forma de rectángulo se define por un ancho y una altura. Se puede usar para intersecciones y controles internos y externos.

  • SHAPE_CAPSULE = 5 --- Esta es la constante para crear formas de cápsulas. La forma de una cápsula se define por un radio y una longitud. Se puede usar para intersecciones y controles internos y externos.

  • SHAPE_CONVEX_POLYGON = 6 --- Esta es la constante para crear formas poligonales convexas. Un polígono se define por una lista de puntos. Puede ser usado para intersecciones y controles internos/externos. A diferencia de la propiedad CollisionPolygon2D.polygon, los polígonos modificados con shape_set_data no verifican que la forma de los puntos suministrados es un polígono convexo.

  • SHAPE_CONCAVE_POLYGON = 7 --- Esta es la constante para crear formas poligonales cóncavas. Un polígono se define por una lista de puntos. Puede ser usado para comprobar las intersecciones, pero no para comprobar el interior/exterior.

  • SHAPE_CUSTOM = 8 --- Esta constante es utilizada internamente por el motor. Cualquier intento de crear este tipo de forma resulta en un error.


enum AreaParameter:

  • AREA_PARAM_GRAVITY = 0 --- Constante para fijar/obtener la fuerza de gravedad en un área.

  • AREA_PARAM_GRAVITY_VECTOR = 1 --- Constante para fijar/obtener el vector/centro de gravedad en un área.

  • AREA_PARAM_GRAVITY_IS_POINT = 2 --- Constante para establecer/obtener si el vector de gravedad de un área es una dirección, o un punto central.

  • AREA_PARAM_GRAVITY_DISTANCE_SCALE = 3 --- Constante para fijar/obtener el factor de caída para el punto de gravedad de un área. Cuanto mayor es este valor, más rápido disminuye la fuerza de gravedad con el cuadrado de la distancia.

  • AREA_PARAM_GRAVITY_POINT_ATTENUATION = 4 --- Esta constante se usó para fijar/obtener el factor de caída para la gravedad puntual. Ha sido reemplazada por AREA_PARAM_GRAVITY_DISTANCE_SCALE.

  • AREA_PARAM_LINEAR_DAMP = 5 --- Constante para fijar/obtener el factor de amortiguación lineal de un área.

  • AREA_PARAM_ANGULAR_DAMP = 6 --- Constante para fijar/obtener el factor de amortiguación angular de un área.

  • AREA_PARAM_PRIORITY = 7 --- Constante para establecer/obtener la prioridad (orden de procesamiento) de un área.


enum AreaSpaceOverrideMode:

  • AREA_SPACE_OVERRIDE_DISABLED = 0 --- Esta zona no afecta a la gravedad/humedad. Estas son generalmente áreas que existen sólo para detectar colisiones, y objetos que entran o salen de ellas.

  • AREA_SPACE_OVERRIDE_COMBINE = 1 --- Esta área añade sus valores de gravedad/humedad a lo que se ha calculado hasta ahora. De esta manera, muchas áreas superpuestas pueden combinar su física para hacer efectos interesantes.

  • AREA_SPACE_OVERRIDE_COMBINE_REPLACE = 2 --- Esta área añade sus valores de gravedad/amortiguación a lo que se ha calculado hasta ahora. Luego deja de tener en cuenta el resto de las áreas, incluso la predeterminada.

  • AREA_SPACE_OVERRIDE_REPLACE = 3 --- Esta área reemplaza cualquier gravedad/amortiguación, incluso la predeterminada, y deja de tener en cuenta el resto de las áreas.

  • AREA_SPACE_OVERRIDE_REPLACE_COMBINE = 4 --- Esta área reemplaza cualquier gravedad/amortiguación calculada hasta ahora, pero sigue calculando el resto de las áreas, hasta la predeterminada.


enum BodyMode:

  • BODY_MODE_STATIC = 0 --- Constante para los cuerpos estáticos.

  • BODY_MODE_KINEMATIC = 1 --- Constante para los cuerpos cinemáticos.

  • BODY_MODE_RIGID = 2 --- Constante para cuerpos rígidos.

  • BODY_MODE_CHARACTER = 3 --- Constante para cuerpos rígidos en modo personaje. En este modo, un cuerpo no puede rotar, y sólo su velocidad lineal se ve afectada por la física.


enum BodyParameter:

  • BODY_PARAM_BOUNCE = 0 --- Constante para fijar/obtener el factor de rebote de un cuerpo.

  • BODY_PARAM_FRICTION = 1 --- Constante para fijar/obtener la fricción de un cuerpo.

  • BODY_PARAM_MASS = 2 --- Constante para fijar/obtener la masa de un cuerpo.

  • BODY_PARAM_INERTIA = 3 --- Constante para fijar/obtener la inercia de un cuerpo.

  • BODY_PARAM_GRAVITY_SCALE = 4 --- Constante para fijar/obtener el multiplicador de gravedad de un cuerpo.

  • BODY_PARAM_LINEAR_DAMP = 5 --- Constante para fijar/obtener el factor de amortiguación lineal de un cuerpo.

  • BODY_PARAM_ANGULAR_DAMP = 6 --- Constante para fijar/obtener el factor de amortiguación angular de un cuerpo.

  • BODY_PARAM_MAX = 7 --- Representa el tamaño del enum BodyParameter.


enum BodyState:

  • BODY_STATE_TRANSFORM = 0 --- Constante para fijar/obtener la matriz de transformación de la corriente del cuerpo.

  • BODY_STATE_LINEAR_VELOCITY = 1 --- Constante para fijar/obtener la actual velocidad lineal del cuerpo.

  • BODY_STATE_ANGULAR_VELOCITY = 2 --- Constante para fijar/obtener la actual velocidad angular del cuerpo.

  • BODY_STATE_SLEEPING = 3 --- Constante para dormir/despertar un cuerpo, o para saber si está durmiendo.

  • BODY_STATE_CAN_SLEEP = 4 --- Constante para establecer/obtener si el cuerpo puede dormir.


enum JointType:

  • JOINT_PIN = 0 --- Constante para crear articulaciones de alfileres.

  • JOINT_GROOVE = 1 --- Constantemente para crear uniones ranuradas.

  • JOINT_DAMPED_SPRING = 2 --- Constante para crear juntas de resorte amortiguadas.


enum JointParam:

  • JOINT_PARAM_BIAS = 0

  • JOINT_PARAM_MAX_BIAS = 1

  • JOINT_PARAM_MAX_FORCE = 2


enum DampedStringParam:

  • DAMPED_STRING_REST_LENGTH = 0 --- Establece la longitud de reposo de la articulación del resorte. La articulación siempre intentará volver a esta longitud cuando se separe.

  • DAMPED_STRING_STIFFNESS = 1 --- Establece la rigidez de la articulación del resorte. La articulación aplica una fuerza igual a la rigidez por la distancia de su longitud en reposo.

  • DAMPED_STRING_DAMPING = 2 --- Establece la relación de amortiguación de la articulación del resorte. Un valor de 0 indica un resorte no amortiguado, mientras que 1 hace que el sistema alcance el equilibrio lo más rápido posible (amortiguación crítica).


enum CCDMode:

  • CCD_MODE_DISABLED = 0 --- Desactiva la detección de colisión continua. Es la forma más rápida de detectar colisiones corporales, pero puede pasar por alto pequeños objetos de movimiento rápido.

  • CCD_MODE_CAST_RAY = 1 --- Permite la detección continua de colisiones mediante la emisión de rayos. Es más rápido que el "shapecasting", pero menos preciso.

  • CCD_MODE_CAST_SHAPE = 2 --- Permite la detección continua de colisiones mediante el modelado. Es el método más lento de CCD, y el más preciso.


enum AreaBodyStatus:

  • AREA_BODY_ADDED = 0 --- El valor del primer parámetro y la función de retrollamada de área recibe, cuando un objeto entra en una de sus formas.

  • AREA_BODY_REMOVED = 1 --- El valor del primer parámetro y la función de llamada de área recibe, cuando un objeto sale de una de sus formas.


enum ProcessInfo:

  • INFO_ACTIVE_OBJECTS = 0 --- Constante para obtener el número de objetos que no están durmiendo.

  • INFO_COLLISION_PAIRS = 1 --- Constante para obtener el número de posibles colisiones.

  • INFO_ISLAND_COUNT = 2 --- Constante para obtener el número de regiones espaciales donde podría ocurrir una colisión.

Descripciones de Métodos

  • void area_add_shape ( RID area, RID shape, Transform2D transform=Transform2D( 1, 0, 0, 1, 0, 0 ), bool disabled=false )

Añade una forma a la zona, junto con una matriz de transformación. Las formas suelen estar referenciadas por su índice, por lo que se debe rastrear qué forma tiene un índice determinado.


  • void area_attach_canvas_instance_id ( RID area, int id )


  • void area_attach_object_instance_id ( RID area, int id )

Asigna el área a un descendiente de Object, para que pueda existir en el árbol de nodos.


  • void area_clear_shapes ( RID area )

Elimina todas las formas de un área. No elimina las formas, por lo que pueden ser reasignadas más tarde.


  • RID area_create ( )

Creates an Area2D. After creating an Area2D with this method, assign it to a space using area_set_space to use the created Area2D in the physics world.


  • int area_get_canvas_instance_id ( RID area ) const


  • int area_get_object_instance_id ( RID area ) const

Obtiene el ID de la instancia del objeto al que está asignada el área.


Devuelve un valor de parámetro de área. Véase AreaParameter para una lista de parámetros disponibles.


  • RID area_get_shape ( RID area, int shape_idx ) const

Devuelve el RID de la forma enésima de un área.


  • int area_get_shape_count ( RID area ) const

Devuelve el número de formas asignadas a un área.


Devuelve la matriz de transformación de una forma dentro de un área.


  • RID area_get_space ( RID area ) const

Devuelve el espacio asignado a la zona.


Devuelve el modo de anulación de espacio para el área.


Devuelve la matriz de transformación de un área.


  • void area_remove_shape ( RID area, int shape_idx )

Elimina una forma de un área. No borra la forma, por lo que puede ser reasignada más tarde.


  • void area_set_area_monitor_callback ( RID area, Object receiver, String method )


  • void area_set_collision_layer ( RID area, int layer )

Asigna el área a una o varias capas de la física.


  • void area_set_collision_mask ( RID area, int mask )

Establece qué capas de la física monitoreará el área.


  • void area_set_monitor_callback ( RID area, Object receiver, String method )

Establece la función de llamar cuando cualquier cuerpo/área entra o sale del área. Esta llamada será llamada para cualquier objeto que interactúe con el área, y toma cinco parámetros:

1: AREA_BODY_ADDED o AREA_BODY_REMOVED, dependiendo de si el objeto entró o salió del área.

2: RID del objeto que entró/salió del área.

3: ID del objeto que entró/salió del área.

4: El índice de forma del objeto que entró/salió del área.

5: El índice de forma del área donde el objeto entró/salió del área.


  • void area_set_monitorable ( RID area, bool monitorable )


Establece el valor de un parámetro de área. Véase AreaParameter para una lista de parámetros disponibles.


  • void area_set_shape ( RID area, int shape_idx, RID shape )

Sustituye una forma de área dada por otra. La forma antigua es seleccionada por su índice, la nueva por su RID.


  • void area_set_shape_disabled ( RID area, int shape_idx, bool disabled )

Deshabilita una forma determinada en un área.


Establece la matriz de transformación para la forma de un área.


  • void area_set_space ( RID area, RID space )

Asigna un espacio a la zona.


Establece el modo de anulación de espacio para el área. Ver AreaSpaceOverrideMode para una lista de los modos disponibles.


Establece la matriz de transformación para un área.


  • void body_add_central_force ( RID body, Vector2 force )


  • void body_add_collision_exception ( RID body, RID excepted_body )

Añade un cuerpo a la lista de cuerpos exentos de colisiones.


Añade una fuerza posicionada a la fuerza y el par aplicados. Al igual que con body_apply_impulse, tanto la fuerza como el desplazamiento del origen del cuerpo están en coordenadas globales. Una fuerza difiere de un impulso en que, mientras que los dos son fuerzas, el impulso se despeja después de ser aplicado.


  • void body_add_shape ( RID body, RID shape, Transform2D transform=Transform2D( 1, 0, 0, 1, 0, 0 ), bool disabled=false )

Añade una forma al cuerpo, junto con una matriz de transformación. Las formas suelen estar referenciadas por su índice, así que debes rastrear qué forma tiene un índice determinado.


  • void body_add_torque ( RID body, float torque )


  • void body_apply_central_impulse ( RID body, Vector2 impulse )


Añade un impulso posicionado a la fuerza y el par aplicado. Tanto la fuerza como el desplazamiento del origen del cuerpo están en coordenadas globales.


  • void body_apply_torque_impulse ( RID body, float impulse )


  • void body_attach_canvas_instance_id ( RID body, int id )


  • void body_attach_object_instance_id ( RID body, int id )

Asigna el área a un descendiente de Object, para que pueda existir en el árbol de nodos.


  • void body_clear_shapes ( RID body )

Elimina todas las formas de un cuerpo.


  • RID body_create ( )

Crea un cuerpo físico.


  • int body_get_canvas_instance_id ( RID body ) const


  • int body_get_collision_layer ( RID body ) const

Devuelve la capa o capas físicas a las que pertenece un cuerpo.


  • int body_get_collision_mask ( RID body ) const

Devuelve la capa física o las capas con las que un cuerpo puede colisionar.


  • CCDMode body_get_continuous_collision_detection_mode ( RID body ) const

Devuelve el modo de detección de colisión continua.


Returns the Physics2DDirectBodyState of the body. Returns null if the body is destroyed or removed from the physics space.


  • int body_get_max_contacts_reported ( RID body ) const

Devuelve el máximo de contactos que se pueden reportar. Ver body_set_max_contacts_reported.


Devuelve el modo de cuerpo.


  • int body_get_object_instance_id ( RID body ) const

Obtiene el ID de la instancia del objeto al que está asignada el área.


Devuelve el valor de un parámetro corporal. Véase BodyParameter para una lista de parámetros disponibles.


  • RID body_get_shape ( RID body, int shape_idx ) const

Devuelve el RID de la enésima forma de un cuerpo.


  • int body_get_shape_count ( RID body ) const

Devuelve el número de formas asignadas a un cuerpo.


  • Variant body_get_shape_metadata ( RID body, int shape_idx ) const

Devuelve los metadatos de la forma de un cuerpo.


Devuelve la matriz de transformación de una forma corporal.


  • RID body_get_space ( RID body ) const

Devuelve el RID del espacio asignado a un cuerpo.


Devuelve un estado corporal.


  • bool body_is_omitting_force_integration ( RID body ) const

Devuelve si un cuerpo utiliza una función de retrollamada para calcular su propia física (ver body_set_force_integration_callback).


  • void body_remove_collision_exception ( RID body, RID excepted_body )

Elimina un cuerpo de la lista de cuerpos exentos de colisiones.


  • void body_remove_shape ( RID body, int shape_idx )

Quita una forma de un cuerpo. La forma no se borra, por lo que puede ser reutilizada después.


  • void body_set_axis_velocity ( RID body, Vector2 axis_velocity )

Establece una velocidad del eje. La velocidad en el eje vectorial dado se fijará como la longitud del vector dado. Esto es útil para el comportamiento de salto.


  • void body_set_collision_layer ( RID body, int layer )

Establece la capa o capas físicas a las que pertenece un cuerpo.


  • void body_set_collision_mask ( RID body, int mask )

Establece la capa física o las capas con las que un cuerpo puede colisionar.


  • void body_set_continuous_collision_detection_mode ( RID body, CCDMode mode )

Establece el modo de detección de colisión continua usando una de las constantes CCDMode.

La detección de colisión continua trata de predecir dónde colisionará un cuerpo en movimiento, en lugar de moverlo y corregir su movimiento si colisionara.


  • void body_set_force_integration_callback ( RID body, Object receiver, String method, Variant userdata=null )

Establece la función utilizada para calcular la física de un objeto, si ese objeto lo permite (véase body_set_omit_force_integration).


  • void body_set_max_contacts_reported ( RID body, int amount )

Establece los contactos máximos a reportar. Los organismos pueden mantener un registro de los contactos con otros organismos, esto se habilita estableciendo la cantidad máxima de contactos reportados a un número mayor que 0.


Establece el modo corporal usando una de las constantes de BodyMode.


  • void body_set_omit_force_integration ( RID body, bool enable )

Establece si un cuerpo utiliza una función de llamada de retorno para calcular su propia física (ver body_set_force_integration_callback).


Establece un parámetro corporal. Véase BodyParameter para una lista de parámetros disponibles.


  • void body_set_shape ( RID body, int shape_idx, RID shape )

Sustituye una forma corporal dada por otra. La forma antigua es seleccionada por su índice, la nueva por su RID.


  • void body_set_shape_as_one_way_collision ( RID body, int shape_idx, bool enable, float margin )

Permite una colisión unidireccional en el cuerpo si enable es true.


  • void body_set_shape_disabled ( RID body, int shape_idx, bool disabled )

Deshabilita la forma en el cuerpo si disable es true.


  • void body_set_shape_metadata ( RID body, int shape_idx, Variant metadata )

Establece metadatos de una forma dentro de un cuerpo. Estos metadatos son diferentes de Object.set_meta, y pueden ser recuperados en consultas de formas.


Establece la matriz de transformación para una forma corporal.


  • void body_set_space ( RID body, RID space )

Asigna un espacio al cuerpo (ver space_create).


Sets a body state using one of the BodyState constants.

Note that the method doesn't take effect immediately. The state will change on the next physics frame.


Returns true if a collision would result from moving in the given direction from a given point in space. Margin increases the size of the shapes involved in the collision detection. Physics2DTestMotionResult can be passed to return additional information in.


  • RID capsule_shape_create ( )


  • RID circle_shape_create ( )


  • RID concave_polygon_shape_create ( )


  • RID convex_polygon_shape_create ( )


Crea un resorte amortiguado entre dos cuerpos. Si no se especifica, se supone que el segundo cuerpo es la propia junta.


Returns the value of a damped spring joint parameter.


Sets a damped spring joint parameter. See DampedStringParam for a list of available parameters.


  • void free_rid ( RID rid )

Destroys any of the objects created by Physics2DServer. If the RID passed is not one of the objects that can be created by Physics2DServer, an error will be sent to the console.


Devuelve información sobre el estado actual del motor de física 2D. Ver ProcessInfo para una lista de los estados disponibles.


Crea una unión de ranuras entre dos cuerpos. Si no se especifica, se supone que los cuerpos son la propia junta.


Devuelve el valor de un parámetro de una articulación.


Devuelve el tipo de articulación (véase JointType).


Establece un parámetro de una articulación. Véase JointParam para una lista de parámetros disponibles.


  • RID line_shape_create ( )


Crea una unión de alfileres entre dos cuerpos. Si no se especifica, se supone que el segundo cuerpo es la propia articulación.


  • RID ray_shape_create ( )


  • RID rectangle_shape_create ( )


  • RID segment_shape_create ( )


  • void set_active ( bool active )

Activa o desactiva el motor de física 2D.


  • void set_collision_iterations ( int iterations )

Sets the amount of iterations for calculating velocities of colliding bodies. The greater the amount of iterations, the more accurate the collisions will be. However, a greater amount of iterations requires more CPU power, which can decrease performance. The default value is 8.


Devuelve los datos de la forma.


Devuelve el tipo de una forma (ver ShapeType).


Establece los datos de forma que definen su forma y tamaño. Los datos que se pasarán dependen del tipo de forma creada shape_get_type.


  • RID space_create ( )

Crea un espacio. Un espacio es una colección de parámetros para el motor de la física que puede ser asignado a un área o a un cuerpo. Puede ser asignado a un área con area_set_space, o a un cuerpo con body_set_space.


Returns the state of a space, a Physics2DDirectSpaceState. This object can be used to make collision/intersection queries.


Devuelve el valor de un parámetro espacial.


  • bool space_is_active ( RID space ) const

Devuelve si el espacio está activo.


  • void space_set_active ( RID space, bool active )

Marca un espacio como activo. No tendrá efecto, a menos que se asigne a un área o cuerpo.


Establece el valor de un parámetro espacial. Véase SpaceParameter para una lista de parámetros disponibles.