Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

PhysicsDirectSpaceState2DExtension

繼承: PhysicsDirectSpaceState2D < Object

提供能夠覆蓋的虛方法,用於建立自訂的 PhysicsDirectSpaceState2D 實作。

說明

這個類擴充自 PhysicsDirectSpaceState2D,提供了額外可覆蓋的虛方法。覆蓋這些方法後,就會代替物理伺服器的內部方法進行呼叫。

旨在通過 GDExtension 建立自訂的 PhysicsDirectSpaceState2D 實作使用。

方法

bool

_cast_motion(shape_rid: RID, transform: Transform2D, motion: Vector2, margin: float, collision_mask: int, collide_with_bodies: bool, collide_with_areas: bool, r_closest_safe: float*, r_closest_unsafe: float*) virtual required

bool

_collide_shape(shape_rid: RID, transform: Transform2D, motion: Vector2, margin: float, collision_mask: int, collide_with_bodies: bool, collide_with_areas: bool, r_results: void*, max_results: int, r_result_count: int32_t*) virtual required

int

_intersect_point(position: Vector2, canvas_instance_id: int, collision_mask: int, collide_with_bodies: bool, collide_with_areas: bool, r_results: PhysicsServer2DExtensionShapeResult*, max_results: int) virtual required

bool

_intersect_ray(from: Vector2, to: Vector2, collision_mask: int, collide_with_bodies: bool, collide_with_areas: bool, hit_from_inside: bool, r_result: PhysicsServer2DExtensionRayResult*) virtual required

int

_intersect_shape(shape_rid: RID, transform: Transform2D, motion: Vector2, margin: float, collision_mask: int, collide_with_bodies: bool, collide_with_areas: bool, r_result: PhysicsServer2DExtensionShapeResult*, max_results: int) virtual required

bool

_rest_info(shape_rid: RID, transform: Transform2D, motion: Vector2, margin: float, collision_mask: int, collide_with_bodies: bool, collide_with_areas: bool, r_rest_info: PhysicsServer2DExtensionShapeRestInfo*) virtual required

bool

is_body_excluded_from_query(body: RID) const


方法說明

bool _cast_motion(shape_rid: RID, transform: Transform2D, motion: Vector2, margin: float, collision_mask: int, collide_with_bodies: bool, collide_with_areas: bool, r_closest_safe: float*, r_closest_unsafe: float*) virtual required 🔗

There is currently no description for this method. Please help us by contributing one!


bool _collide_shape(shape_rid: RID, transform: Transform2D, motion: Vector2, margin: float, collision_mask: int, collide_with_bodies: bool, collide_with_areas: bool, r_results: void*, max_results: int, r_result_count: int32_t*) virtual required 🔗

There is currently no description for this method. Please help us by contributing one!


int _intersect_point(position: Vector2, canvas_instance_id: int, collision_mask: int, collide_with_bodies: bool, collide_with_areas: bool, r_results: PhysicsServer2DExtensionShapeResult*, max_results: int) virtual required 🔗

There is currently no description for this method. Please help us by contributing one!


bool _intersect_ray(from: Vector2, to: Vector2, collision_mask: int, collide_with_bodies: bool, collide_with_areas: bool, hit_from_inside: bool, r_result: PhysicsServer2DExtensionRayResult*) virtual required 🔗

There is currently no description for this method. Please help us by contributing one!


int _intersect_shape(shape_rid: RID, transform: Transform2D, motion: Vector2, margin: float, collision_mask: int, collide_with_bodies: bool, collide_with_areas: bool, r_result: PhysicsServer2DExtensionShapeResult*, max_results: int) virtual required 🔗

There is currently no description for this method. Please help us by contributing one!


bool _rest_info(shape_rid: RID, transform: Transform2D, motion: Vector2, margin: float, collision_mask: int, collide_with_bodies: bool, collide_with_areas: bool, r_rest_info: PhysicsServer2DExtensionShapeRestInfo*) virtual required 🔗

There is currently no description for this method. Please help us by contributing one!


bool is_body_excluded_from_query(body: RID) const 🔗

There is currently no description for this method. Please help us by contributing one!