PhysicsShapeQueryParameters2D

Hereda: RefCounted < Object

Provides parameters for PhysicsDirectSpaceState2D's methods.

Descripción

By changing various properties of this object, such as the shape, you can configure the parameters for PhysicsDirectSpaceState2D's methods.

Propiedades

bool

collide_with_areas

false

bool

collide_with_bodies

true

int

collision_mask

4294967295

Array[RID]

exclude

[]

float

margin

0.0

Vector2

motion

Vector2(0, 0)

Resource

shape

RID

shape_rid

RID()

Transform2D

transform

Transform2D(1, 0, 0, 1, 0, 0)


Descripciones de Propiedades

bool collide_with_areas = false 🔗

  • void set_collide_with_areas(value: bool)

  • bool is_collide_with_areas_enabled()

Si es true, la consulta tendrá en cuenta las Area2Ds.


bool collide_with_bodies = true 🔗

  • void set_collide_with_bodies(value: bool)

  • bool is_collide_with_bodies_enabled()

Si es true, la consulta tendrá en cuenta las PhysicsBody2Ds.


int collision_mask = 4294967295 🔗

  • void set_collision_mask(value: int)

  • int get_collision_mask()

The physics layers the query will detect (as a bitmask). By default, all collision layers are detected. See Collision layers and masks in the documentation for more information.


Array[RID] exclude = [] 🔗

La lista de RID de objetos que se excluirán de las colisiones. Utiliza CollisionObject2D.get_rid() para obtener el RID asociado con un nodo derivado de CollisionObject2D.

Nota: El array devuelto se copia y cualquier cambio en él no actualizará el valor de la propiedad original. Para actualizar el valor, debes modificar el array devuelto y, a continuación, asignarlo de nuevo a la propiedad.


float margin = 0.0 🔗

  • void set_margin(value: float)

  • float get_margin()

El margen de colisión de la forma.


Vector2 motion = Vector2(0, 0) 🔗

El movimiento de la forma que se ha encolado.


Resource shape 🔗

The Shape2D that will be used for collision/intersection queries. This stores the actual reference which avoids the shape to be released while being used for queries, so always prefer using this over shape_rid.


RID shape_rid = RID() 🔗

  • void set_shape_rid(value: RID)

  • RID get_shape_rid()

The queried shape's RID that will be used for collision/intersection queries. Use this over shape if you want to optimize for performance using the Servers API:

var shape_rid = PhysicsServer2D.circle_shape_create()
var radius = 64
PhysicsServer2D.shape_set_data(shape_rid, radius)

var params = PhysicsShapeQueryParameters2D.new()
params.shape_rid = shape_rid

# Execute physics queries here...

# Release the shape when done with physics queries.
PhysicsServer2D.free_rid(shape_rid)

Transform2D transform = Transform2D(1, 0, 0, 1, 0, 0) 🔗

La matriz de transformación de la forma en cuestión.