PhysicsServer2DExtension

继承: PhysicsServer2D < Object

提供覆盖后可以用来创建自定义 PhysicsServer2D 实现的虚方法。

描述

这个类扩展自 PhysicsServer2D,提供可额外的可覆盖虚方法。覆盖这些方法后,就不会调用物理服务器内部方法,而是调用这些覆盖后的方法。

旨在用于 GDExtension,用于创建自定义 PhysicsServer2D 实现。

方法

void

_area_add_shape(area: RID, shape: RID, transform: Transform2D, disabled: bool) virtual

void

_area_attach_canvas_instance_id(area: RID, id: int) virtual

void

_area_attach_object_instance_id(area: RID, id: int) virtual

void

_area_clear_shapes(area: RID) virtual

RID

_area_create() virtual

int

_area_get_canvas_instance_id(area: RID) virtual const

int

_area_get_collision_layer(area: RID) virtual const

int

_area_get_collision_mask(area: RID) virtual const

int

_area_get_object_instance_id(area: RID) virtual const

Variant

_area_get_param(area: RID, param: AreaParameter) virtual const

RID

_area_get_shape(area: RID, shape_idx: int) virtual const

int

_area_get_shape_count(area: RID) virtual const

Transform2D

_area_get_shape_transform(area: RID, shape_idx: int) virtual const

RID

_area_get_space(area: RID) virtual const

Transform2D

_area_get_transform(area: RID) virtual const

void

_area_remove_shape(area: RID, shape_idx: int) virtual

void

_area_set_area_monitor_callback(area: RID, callback: Callable) virtual

void

_area_set_collision_layer(area: RID, layer: int) virtual

void

_area_set_collision_mask(area: RID, mask: int) virtual

void

_area_set_monitor_callback(area: RID, callback: Callable) virtual

void

_area_set_monitorable(area: RID, monitorable: bool) virtual

void

_area_set_param(area: RID, param: AreaParameter, value: Variant) virtual

void

_area_set_pickable(area: RID, pickable: bool) virtual

void

_area_set_shape(area: RID, shape_idx: int, shape: RID) virtual

void

_area_set_shape_disabled(area: RID, shape_idx: int, disabled: bool) virtual

void

_area_set_shape_transform(area: RID, shape_idx: int, transform: Transform2D) virtual

void

_area_set_space(area: RID, space: RID) virtual

void

_area_set_transform(area: RID, transform: Transform2D) virtual

void

_body_add_collision_exception(body: RID, excepted_body: RID) virtual

void

_body_add_constant_central_force(body: RID, force: Vector2) virtual

void

_body_add_constant_force(body: RID, force: Vector2, position: Vector2) virtual

void

_body_add_constant_torque(body: RID, torque: float) virtual

void

_body_add_shape(body: RID, shape: RID, transform: Transform2D, disabled: bool) virtual

void

_body_apply_central_force(body: RID, force: Vector2) virtual

void

_body_apply_central_impulse(body: RID, impulse: Vector2) virtual

void

_body_apply_force(body: RID, force: Vector2, position: Vector2) virtual

void

_body_apply_impulse(body: RID, impulse: Vector2, position: Vector2) virtual

void

_body_apply_torque(body: RID, torque: float) virtual

void

_body_apply_torque_impulse(body: RID, impulse: float) virtual

void

_body_attach_canvas_instance_id(body: RID, id: int) virtual

void

_body_attach_object_instance_id(body: RID, id: int) virtual

void

_body_clear_shapes(body: RID) virtual

bool

_body_collide_shape(body: RID, body_shape: int, shape: RID, shape_xform: Transform2D, motion: Vector2, results: void, result_max: int, result_count: int32_t) virtual

RID

_body_create() virtual

int

_body_get_canvas_instance_id(body: RID) virtual const

Array[RID]

_body_get_collision_exceptions(body: RID) virtual const

int

_body_get_collision_layer(body: RID) virtual const

int

_body_get_collision_mask(body: RID) virtual const

float

_body_get_collision_priority(body: RID) virtual const

Vector2

_body_get_constant_force(body: RID) virtual const

float

_body_get_constant_torque(body: RID) virtual const

float

_body_get_contacts_reported_depth_threshold(body: RID) virtual const

CCDMode

_body_get_continuous_collision_detection_mode(body: RID) virtual const

PhysicsDirectBodyState2D

_body_get_direct_state(body: RID) virtual

int

_body_get_max_contacts_reported(body: RID) virtual const

BodyMode

_body_get_mode(body: RID) virtual const

int

_body_get_object_instance_id(body: RID) virtual const

Variant

_body_get_param(body: RID, param: BodyParameter) virtual const

RID

_body_get_shape(body: RID, shape_idx: int) virtual const

int

_body_get_shape_count(body: RID) virtual const

Transform2D

_body_get_shape_transform(body: RID, shape_idx: int) virtual const

RID

_body_get_space(body: RID) virtual const

Variant

_body_get_state(body: RID, state: BodyState) virtual const

bool

_body_is_omitting_force_integration(body: RID) virtual const

void

_body_remove_collision_exception(body: RID, excepted_body: RID) virtual

void

_body_remove_shape(body: RID, shape_idx: int) virtual

void

_body_reset_mass_properties(body: RID) virtual

void

_body_set_axis_velocity(body: RID, axis_velocity: Vector2) virtual

void

_body_set_collision_layer(body: RID, layer: int) virtual

void

_body_set_collision_mask(body: RID, mask: int) virtual

void

_body_set_collision_priority(body: RID, priority: float) virtual

void

_body_set_constant_force(body: RID, force: Vector2) virtual

void

_body_set_constant_torque(body: RID, torque: float) virtual

void

_body_set_contacts_reported_depth_threshold(body: RID, threshold: float) virtual

void

_body_set_continuous_collision_detection_mode(body: RID, mode: CCDMode) virtual

void

_body_set_force_integration_callback(body: RID, callable: Callable, userdata: Variant) virtual

void

_body_set_max_contacts_reported(body: RID, amount: int) virtual

void

_body_set_mode(body: RID, mode: BodyMode) virtual

void

_body_set_omit_force_integration(body: RID, enable: bool) virtual

void

_body_set_param(body: RID, param: BodyParameter, value: Variant) virtual

void

_body_set_pickable(body: RID, pickable: bool) virtual

void

_body_set_shape(body: RID, shape_idx: int, shape: RID) virtual

void

_body_set_shape_as_one_way_collision(body: RID, shape_idx: int, enable: bool, margin: float) virtual

void

_body_set_shape_disabled(body: RID, shape_idx: int, disabled: bool) virtual

void

_body_set_shape_transform(body: RID, shape_idx: int, transform: Transform2D) virtual

void

_body_set_space(body: RID, space: RID) virtual

void

_body_set_state(body: RID, state: BodyState, value: Variant) virtual

void

_body_set_state_sync_callback(body: RID, callable: Callable) virtual

bool

_body_test_motion(body: RID, from: Transform2D, motion: Vector2, margin: float, collide_separation_ray: bool, recovery_as_collision: bool, result: PhysicsServer2DExtensionMotionResult) virtual const

RID

_capsule_shape_create() virtual

RID

_circle_shape_create() virtual

RID

_concave_polygon_shape_create() virtual

RID

_convex_polygon_shape_create() virtual

float

_damped_spring_joint_get_param(joint: RID, param: DampedSpringParam) virtual const

void

_damped_spring_joint_set_param(joint: RID, param: DampedSpringParam, value: float) virtual

void

_end_sync() virtual

void

_finish() virtual

void

_flush_queries() virtual

void

_free_rid(rid: RID) virtual

int

_get_process_info(process_info: ProcessInfo) virtual

void

_init() virtual

bool

_is_flushing_queries() virtual const

void

_joint_clear(joint: RID) virtual

RID

_joint_create() virtual

void

_joint_disable_collisions_between_bodies(joint: RID, disable: bool) virtual

float

_joint_get_param(joint: RID, param: JointParam) virtual const

JointType

_joint_get_type(joint: RID) virtual const

bool

_joint_is_disabled_collisions_between_bodies(joint: RID) virtual const

void

_joint_make_damped_spring(joint: RID, anchor_a: Vector2, anchor_b: Vector2, body_a: RID, body_b: RID) virtual

void

_joint_make_groove(joint: RID, a_groove1: Vector2, a_groove2: Vector2, b_anchor: Vector2, body_a: RID, body_b: RID) virtual

void

_joint_make_pin(joint: RID, anchor: Vector2, body_a: RID, body_b: RID) virtual

void

_joint_set_param(joint: RID, param: JointParam, value: float) virtual

bool

_pin_joint_get_flag(joint: RID, flag: PinJointFlag) virtual const

float

_pin_joint_get_param(joint: RID, param: PinJointParam) virtual const

void

_pin_joint_set_flag(joint: RID, flag: PinJointFlag, enabled: bool) virtual

void

_pin_joint_set_param(joint: RID, param: PinJointParam, value: float) virtual

RID

_rectangle_shape_create() virtual

RID

_segment_shape_create() virtual

RID

_separation_ray_shape_create() virtual

void

_set_active(active: bool) virtual

bool

_shape_collide(shape_A: RID, xform_A: Transform2D, motion_A: Vector2, shape_B: RID, xform_B: Transform2D, motion_B: Vector2, results: void, result_max: int, result_count: int32_t*) virtual

float

_shape_get_custom_solver_bias(shape: RID) virtual const

Variant

_shape_get_data(shape: RID) virtual const

ShapeType

_shape_get_type(shape: RID) virtual const

void

_shape_set_custom_solver_bias(shape: RID, bias: float) virtual

void

_shape_set_data(shape: RID, data: Variant) virtual

RID

_space_create() virtual

int

_space_get_contact_count(space: RID) virtual const

PackedVector2Array

_space_get_contacts(space: RID) virtual const

PhysicsDirectSpaceState2D

_space_get_direct_state(space: RID) virtual

float

_space_get_param(space: RID, param: SpaceParameter) virtual const

bool

_space_is_active(space: RID) virtual const

void

_space_set_active(space: RID, active: bool) virtual

void

_space_set_debug_contacts(space: RID, max_contacts: int) virtual

void

_space_set_param(space: RID, param: SpaceParameter, value: float) virtual

void

_step(step: float) virtual

void

_sync() virtual

RID

_world_boundary_shape_create() virtual

bool

body_test_motion_is_excluding_body(body: RID) const

bool

body_test_motion_is_excluding_object(object: int) const


方法说明

void _area_add_shape(area: RID, shape: RID, transform: Transform2D, disabled: bool) virtual 🔗

PhysicsServer2D.area_add_shape 的可覆盖版本。


void _area_attach_canvas_instance_id(area: RID, id: int) virtual 🔗

PhysicsServer2D.area_attach_canvas_instance_id 的可覆盖版本。


void _area_attach_object_instance_id(area: RID, id: int) virtual 🔗

PhysicsServer2D.area_attach_object_instance_id 的可覆盖版本。


void _area_clear_shapes(area: RID) virtual 🔗

PhysicsServer2D.area_clear_shapes 的可覆盖版本。


RID _area_create() virtual 🔗

PhysicsServer2D.area_create 的可覆盖版本。


int _area_get_canvas_instance_id(area: RID) virtual const 🔗

PhysicsServer2D.area_get_canvas_instance_id 的可覆盖版本。


int _area_get_collision_layer(area: RID) virtual const 🔗

PhysicsServer2D.area_get_collision_layer 的可覆盖版本。


int _area_get_collision_mask(area: RID) virtual const 🔗

PhysicsServer2D.area_get_collision_mask 的可覆盖版本。


int _area_get_object_instance_id(area: RID) virtual const 🔗

PhysicsServer2D.area_get_object_instance_id 的可覆盖版本。


Variant _area_get_param(area: RID, param: AreaParameter) virtual const 🔗

PhysicsServer2D.area_get_param 的可覆盖版本。


RID _area_get_shape(area: RID, shape_idx: int) virtual const 🔗

PhysicsServer2D.area_get_shape 的可覆盖版本。


int _area_get_shape_count(area: RID) virtual const 🔗

PhysicsServer2D.area_get_shape_count 的可覆盖版本。


Transform2D _area_get_shape_transform(area: RID, shape_idx: int) virtual const 🔗

PhysicsServer2D.area_get_shape_transform 的可覆盖版本。


RID _area_get_space(area: RID) virtual const 🔗

PhysicsServer2D.area_get_space 的可覆盖版本。


Transform2D _area_get_transform(area: RID) virtual const 🔗

PhysicsServer2D.area_get_transform 的可覆盖版本。


void _area_remove_shape(area: RID, shape_idx: int) virtual 🔗

PhysicsServer2D.area_remove_shape 的可覆盖版本。


void _area_set_area_monitor_callback(area: RID, callback: Callable) virtual 🔗

PhysicsServer2D.area_set_area_monitor_callback 的可覆盖版本。


void _area_set_collision_layer(area: RID, layer: int) virtual 🔗

PhysicsServer2D.area_set_collision_layer 的可覆盖版本。


void _area_set_collision_mask(area: RID, mask: int) virtual 🔗

PhysicsServer2D.area_set_collision_mask 的可覆盖版本。


void _area_set_monitor_callback(area: RID, callback: Callable) virtual 🔗

PhysicsServer2D.area_set_monitor_callback 的可覆盖版本。


void _area_set_monitorable(area: RID, monitorable: bool) virtual 🔗

PhysicsServer2D.area_set_monitorable 的可覆盖版本。


void _area_set_param(area: RID, param: AreaParameter, value: Variant) virtual 🔗

PhysicsServer2D.area_set_param 的可覆盖版本。


void _area_set_pickable(area: RID, pickable: bool) virtual 🔗

如果设置为 true,则允许具有给定 RID 的区域在鼠标光标悬停在其上时检测鼠标输入。

PhysicsServer2D 内部 area_set_pickable 方法的可覆盖版本。对应于 CollisionObject2D.input_pickable


void _area_set_shape(area: RID, shape_idx: int, shape: RID) virtual 🔗

PhysicsServer2D.area_set_shape 的可覆盖版本。


void _area_set_shape_disabled(area: RID, shape_idx: int, disabled: bool) virtual 🔗

PhysicsServer2D.area_set_shape_disabled 的可覆盖版本。


void _area_set_shape_transform(area: RID, shape_idx: int, transform: Transform2D) virtual 🔗

PhysicsServer2D.area_set_shape_transform 的可覆盖版本。


void _area_set_space(area: RID, space: RID) virtual 🔗

PhysicsServer2D.area_set_space 的可覆盖版本。


void _area_set_transform(area: RID, transform: Transform2D) virtual 🔗

PhysicsServer2D.area_set_transform 的可覆盖版本。


void _body_add_collision_exception(body: RID, excepted_body: RID) virtual 🔗

PhysicsServer2D.body_add_collision_exception 的可覆盖版本。


void _body_add_constant_central_force(body: RID, force: Vector2) virtual 🔗

PhysicsServer2D.body_add_constant_central_force 的可覆盖版本。


void _body_add_constant_force(body: RID, force: Vector2, position: Vector2) virtual 🔗

PhysicsServer2D.body_add_constant_force 的可覆盖版本。


void _body_add_constant_torque(body: RID, torque: float) virtual 🔗

PhysicsServer2D.body_add_constant_torque 的可覆盖版本。


void _body_add_shape(body: RID, shape: RID, transform: Transform2D, disabled: bool) virtual 🔗

PhysicsServer2D.body_add_shape 的可覆盖版本。


void _body_apply_central_force(body: RID, force: Vector2) virtual 🔗

PhysicsServer2D.body_apply_central_force 的可覆盖版本。


void _body_apply_central_impulse(body: RID, impulse: Vector2) virtual 🔗

PhysicsServer2D.body_apply_central_impulse 的可覆盖版本。


void _body_apply_force(body: RID, force: Vector2, position: Vector2) virtual 🔗

PhysicsServer2D.body_apply_force 的可覆盖版本。


void _body_apply_impulse(body: RID, impulse: Vector2, position: Vector2) virtual 🔗

PhysicsServer2D.body_apply_impulse 的可覆盖版本。


void _body_apply_torque(body: RID, torque: float) virtual 🔗

PhysicsServer2D.body_apply_torque 的可覆盖版本。


void _body_apply_torque_impulse(body: RID, impulse: float) virtual 🔗

PhysicsServer2D.body_apply_torque_impulse 的可覆盖版本。


void _body_attach_canvas_instance_id(body: RID, id: int) virtual 🔗

PhysicsServer2D.body_attach_canvas_instance_id 的可覆盖版本。


void _body_attach_object_instance_id(body: RID, id: int) virtual 🔗

PhysicsServer2D.body_attach_object_instance_id 的可覆盖版本。


void _body_clear_shapes(body: RID) virtual 🔗

PhysicsServer2D.body_clear_shapes 的可覆盖版本。


bool _body_collide_shape(body: RID, body_shape: int, shape: RID, shape_xform: Transform2D, motion: Vector2, results: void*, result_max: int, result_count: int32_t*) virtual 🔗

给定一个 body、一个 shape 及其各自的参数,如果两者之间发生碰撞,该方法应返回 true,并在 results 中传递其他详细信息。

PhysicsServer2D 内部 shape_collide 方法的可覆盖版本。对应于 PhysicsDirectSpaceState2D.collide_shape


RID _body_create() virtual 🔗

PhysicsServer2D.body_create 的可覆盖版本。


int _body_get_canvas_instance_id(body: RID) virtual const 🔗

PhysicsServer2D.body_get_canvas_instance_id 的可覆盖版本。


Array[RID] _body_get_collision_exceptions(body: RID) virtual const 🔗

返回所有添加为给定 body 的碰撞例外的物体的 RID。另请参阅 _body_add_collision_exception_body_remove_collision_exception

PhysicsServer2D 的内部 body_get_collision_exceptions 方法的可覆盖版本。对应于 PhysicsBody2D.get_collision_exceptions


int _body_get_collision_layer(body: RID) virtual const 🔗

PhysicsServer2D.body_get_collision_layer 的可覆盖版本。


int _body_get_collision_mask(body: RID) virtual const 🔗

PhysicsServer2D.body_get_collision_mask 的可覆盖版本。


float _body_get_collision_priority(body: RID) virtual const 🔗

PhysicsServer2D.body_get_collision_priority 的可覆盖版本。


Vector2 _body_get_constant_force(body: RID) virtual const 🔗

PhysicsServer2D.body_get_constant_force 的可覆盖版本。


float _body_get_constant_torque(body: RID) virtual const 🔗

PhysicsServer2D.body_get_constant_torque 的可覆盖版本。


float _body_get_contacts_reported_depth_threshold(body: RID) virtual const 🔗

PhysicsServer2D 内部 body_get_contacts_reported_depth_threshold 方法的可覆盖版本。

注意:Godot 的默认物理实现目前未使用该方法。


CCDMode _body_get_continuous_collision_detection_mode(body: RID) virtual const 🔗

PhysicsServer2D.body_get_continuous_collision_detection_mode 的可覆盖版本。


PhysicsDirectBodyState2D _body_get_direct_state(body: RID) virtual 🔗

PhysicsServer2D.body_get_direct_state 的可覆盖版本。


int _body_get_max_contacts_reported(body: RID) virtual const 🔗

PhysicsServer2D.body_get_max_contacts_reported 的可覆盖版本。


BodyMode _body_get_mode(body: RID) virtual const 🔗

PhysicsServer2D.body_get_mode 的可覆盖版本。


int _body_get_object_instance_id(body: RID) virtual const 🔗

PhysicsServer2D.body_get_object_instance_id 的可覆盖版本。


Variant _body_get_param(body: RID, param: BodyParameter) virtual const 🔗

PhysicsServer2D.body_get_param 的可覆盖版本。


RID _body_get_shape(body: RID, shape_idx: int) virtual const 🔗

PhysicsServer2D.body_get_shape 的可覆盖版本。


int _body_get_shape_count(body: RID) virtual const 🔗

PhysicsServer2D.body_get_shape_count 的可覆盖版本。


Transform2D _body_get_shape_transform(body: RID, shape_idx: int) virtual const 🔗

PhysicsServer2D.body_get_shape_transform 的可覆盖版本。


RID _body_get_space(body: RID) virtual const 🔗

PhysicsServer2D.body_get_space 的可覆盖版本。


Variant _body_get_state(body: RID, state: BodyState) virtual const 🔗

PhysicsServer2D.body_get_state 的可覆盖版本。


bool _body_is_omitting_force_integration(body: RID) virtual const 🔗

PhysicsServer2D.body_is_omitting_force_integration 的可覆盖版本。


void _body_remove_collision_exception(body: RID, excepted_body: RID) virtual 🔗

PhysicsServer2D.body_remove_collision_exception 的可覆盖版本。


void _body_remove_shape(body: RID, shape_idx: int) virtual 🔗

PhysicsServer2D.body_remove_shape 的可覆盖版本。


void _body_reset_mass_properties(body: RID) virtual 🔗

PhysicsServer2D.body_reset_mass_properties 的可覆盖版本。


void _body_set_axis_velocity(body: RID, axis_velocity: Vector2) virtual 🔗

PhysicsServer2D.body_set_axis_velocity 的可覆盖版本。


void _body_set_collision_layer(body: RID, layer: int) virtual 🔗

PhysicsServer2D.body_set_collision_layer 的可覆盖版本。


void _body_set_collision_mask(body: RID, mask: int) virtual 🔗

PhysicsServer2D.body_set_collision_mask 的可覆盖版本。


void _body_set_collision_priority(body: RID, priority: float) virtual 🔗

PhysicsServer2D.body_set_collision_priority 的可覆盖版本。


void _body_set_constant_force(body: RID, force: Vector2) virtual 🔗

PhysicsServer2D.body_set_constant_force 的可覆盖版本。


void _body_set_constant_torque(body: RID, torque: float) virtual 🔗

PhysicsServer2D.body_set_constant_torque 的可覆盖版本。


void _body_set_contacts_reported_depth_threshold(body: RID, threshold: float) virtual 🔗

PhysicsServer2D 内部 body_set_contacts_reported_depth_threshold 方法的可覆盖版本。

注意:Godot 的默认物理实现目前未使用该方法。


void _body_set_continuous_collision_detection_mode(body: RID, mode: CCDMode) virtual 🔗

PhysicsServer2D.body_set_continuous_collision_detection_mode 的可覆盖版本。


void _body_set_force_integration_callback(body: RID, callable: Callable, userdata: Variant) virtual 🔗

PhysicsServer2D.body_set_force_integration_callback 的可覆盖版本。


void _body_set_max_contacts_reported(body: RID, amount: int) virtual 🔗

PhysicsServer2D.body_set_max_contacts_reported 的可覆盖版本。


void _body_set_mode(body: RID, mode: BodyMode) virtual 🔗

PhysicsServer2D.body_set_mode 的可覆盖版本。


void _body_set_omit_force_integration(body: RID, enable: bool) virtual 🔗

PhysicsServer2D.body_set_omit_force_integration 的可覆盖版本。


void _body_set_param(body: RID, param: BodyParameter, value: Variant) virtual 🔗

PhysicsServer2D.body_set_param 的可覆盖版本。


void _body_set_pickable(body: RID, pickable: bool) virtual 🔗

如果设置为 true,则允许具有给定 RID 的物体在鼠标光标悬停在其上时检测鼠标输入。

PhysicsServer2D 内部 body_set_pickable 方法的可覆盖版本。对应于 CollisionObject2D.input_pickable


void _body_set_shape(body: RID, shape_idx: int, shape: RID) virtual 🔗

PhysicsServer2D.body_set_shape 的可覆盖版本。


void _body_set_shape_as_one_way_collision(body: RID, shape_idx: int, enable: bool, margin: float) virtual 🔗

PhysicsServer2D.body_set_shape_as_one_way_collision 的可覆盖版本。


void _body_set_shape_disabled(body: RID, shape_idx: int, disabled: bool) virtual 🔗

PhysicsServer2D.body_set_shape_disabled 的可覆盖版本。


void _body_set_shape_transform(body: RID, shape_idx: int, transform: Transform2D) virtual 🔗

PhysicsServer2D.body_set_shape_transform 的可覆盖版本。


void _body_set_space(body: RID, space: RID) virtual 🔗

PhysicsServer2D.body_set_space 的可覆盖版本。


void _body_set_state(body: RID, state: BodyState, value: Variant) virtual 🔗

PhysicsServer2D.body_set_state 的可覆盖版本。


void _body_set_state_sync_callback(body: RID, callable: Callable) virtual 🔗

Assigns the body to call the given callable during the synchronization phase of the loop, before _step is called. See also _sync.

Overridable version of PhysicsServer2D.body_set_state_sync_callback.


bool _body_test_motion(body: RID, from: Transform2D, motion: Vector2, margin: float, collide_separation_ray: bool, recovery_as_collision: bool, result: PhysicsServer2DExtensionMotionResult*) virtual const 🔗

PhysicsServer2D.body_test_motion 的可覆盖版本。与暴露的实现不同,该方法不会通过 PhysicsTestMotionParameters2D 接受所有参数。


RID _capsule_shape_create() virtual 🔗

PhysicsServer2D.capsule_shape_create 的可覆盖版本。


RID _circle_shape_create() virtual 🔗

PhysicsServer2D.circle_shape_create 的可覆盖版本。


RID _concave_polygon_shape_create() virtual 🔗

PhysicsServer2D.concave_polygon_shape_create 的可覆盖版本。


RID _convex_polygon_shape_create() virtual 🔗

PhysicsServer2D.convex_polygon_shape_create 的可覆盖版本。


float _damped_spring_joint_get_param(joint: RID, param: DampedSpringParam) virtual const 🔗

PhysicsServer2D.damped_spring_joint_get_param 的可覆盖版本。


void _damped_spring_joint_set_param(joint: RID, param: DampedSpringParam, value: float) virtual 🔗

PhysicsServer2D.damped_spring_joint_set_param 的可覆盖版本。


void _end_sync() virtual 🔗

调用该方法表示物理服务器已停止同步。它处于循环的迭代/物理阶段,即使在单独的线程上运行也可以访问物理对象。另请参阅 _sync

PhysicsServer2D 的内部 end_sync 方法的可覆盖版本。


void _finish() virtual 🔗

当主循环结束时调用以关闭物理服务器。另请参阅 MainLoop._finalize_init

PhysicsServer2D 的内部 finish 方法的可覆盖版本。


void _flush_queries() virtual 🔗

_step 之前的每个物理步骤期间调用来处理所有剩余查询。

PhysicsServer2D 的内部 flush_queries 方法的可覆盖版本。


void _free_rid(rid: RID) virtual 🔗

PhysicsServer2D.free_rid 的可覆盖版本。


int _get_process_info(process_info: ProcessInfo) virtual 🔗

PhysicsServer2D.get_process_info 的可覆盖版本。


void _init() virtual 🔗

在主循环初始化并创建该物理服务器的新实例时调用。另请参阅 MainLoop._initialize_finish

PhysicsServer2D 的内部 init 方法的可覆盖版本。


bool _is_flushing_queries() virtual const 🔗

当物理服务器正在处理查询时,应返回 true 的可覆盖方法。另请参阅 _flush_queries

PhysicsServer2D 内部 is_flushing_queries 方法的可覆盖版本。


void _joint_clear(joint: RID) virtual 🔗

PhysicsServer2D.joint_clear 的可覆盖版本。


RID _joint_create() virtual 🔗

PhysicsServer2D.joint_create 的可覆盖版本。


void _joint_disable_collisions_between_bodies(joint: RID, disable: bool) virtual 🔗

PhysicsServer2D.joint_disable_collisions_between_bodies 的可覆盖版本。


float _joint_get_param(joint: RID, param: JointParam) virtual const 🔗

PhysicsServer2D.joint_get_param 的可覆盖版本。


JointType _joint_get_type(joint: RID) virtual const 🔗

PhysicsServer2D.joint_get_type 的可覆盖版本。


bool _joint_is_disabled_collisions_between_bodies(joint: RID) virtual const 🔗

PhysicsServer2D.joint_is_disabled_collisions_between_bodies 的可覆盖版本。


void _joint_make_damped_spring(joint: RID, anchor_a: Vector2, anchor_b: Vector2, body_a: RID, body_b: RID) virtual 🔗

PhysicsServer2D.joint_make_damped_spring 的可覆盖版本。


void _joint_make_groove(joint: RID, a_groove1: Vector2, a_groove2: Vector2, b_anchor: Vector2, body_a: RID, body_b: RID) virtual 🔗

PhysicsServer2D.joint_make_groove 的可覆盖版本。


void _joint_make_pin(joint: RID, anchor: Vector2, body_a: RID, body_b: RID) virtual 🔗

PhysicsServer2D.joint_make_pin 的可覆盖版本。


void _joint_set_param(joint: RID, param: JointParam, value: float) virtual 🔗

PhysicsServer2D.joint_set_param 的可覆盖版本。


bool _pin_joint_get_flag(joint: RID, flag: PinJointFlag) virtual const 🔗

PhysicsServer2D.pin_joint_get_flag 的可覆盖版本。


float _pin_joint_get_param(joint: RID, param: PinJointParam) virtual const 🔗

PhysicsServer2D.pin_joint_get_param 的可覆盖版本。


void _pin_joint_set_flag(joint: RID, flag: PinJointFlag, enabled: bool) virtual 🔗

PhysicsServer2D.pin_joint_set_flag 的可覆盖版本。


void _pin_joint_set_param(joint: RID, param: PinJointParam, value: float) virtual 🔗

PhysicsServer2D.pin_joint_set_param 的可覆盖版本。


RID _rectangle_shape_create() virtual 🔗

PhysicsServer2D.rectangle_shape_create 的可覆盖版本。


RID _segment_shape_create() virtual 🔗

PhysicsServer2D.segment_shape_create 的可覆盖版本。


RID _separation_ray_shape_create() virtual 🔗

PhysicsServer2D.separation_ray_shape_create 的可覆盖版本。


void _set_active(active: bool) virtual 🔗

PhysicsServer2D.set_active 的可覆盖版本。


bool _shape_collide(shape_A: RID, xform_A: Transform2D, motion_A: Vector2, shape_B: RID, xform_B: Transform2D, motion_B: Vector2, results: void*, result_max: int, result_count: int32_t*) virtual 🔗

给定两个形状及其参数,如果两者之间发生碰撞,则应返回 true,并在 results 中传递其他详细信息。

PhysicsServer2D 内部 shape_collide 方法的可覆盖版本。对应于 PhysicsDirectSpaceState2D.collide_shape


float _shape_get_custom_solver_bias(shape: RID) virtual const 🔗

应返回给定 shape 的自定义解算器偏差,该偏差定义了当涉及该形状时,物体在接触时被迫分离的程度。

PhysicsServer2D 的内部 shape_get_custom_solver_bias 方法的可覆盖版本。对应于 Shape2D.custom_solver_bias


Variant _shape_get_data(shape: RID) virtual const 🔗

PhysicsServer2D.shape_get_data 的可覆盖版本。


ShapeType _shape_get_type(shape: RID) virtual const 🔗

PhysicsServer2D.shape_get_type 的可覆盖版本。


void _shape_set_custom_solver_bias(shape: RID, bias: float) virtual 🔗

应为给定的 shape 设置自定义解算器偏差。它定义了接触时物体被迫分离的程度。

PhysicsServer2D 内部 shape_get_custom_solver_bias 方法的可覆盖版本。对应于 Shape2D.custom_solver_bias


void _shape_set_data(shape: RID, data: Variant) virtual 🔗

PhysicsServer2D.shape_set_data 的可覆盖版本。


RID _space_create() virtual 🔗

PhysicsServer2D.space_create 的可覆盖版本。


int _space_get_contact_count(space: RID) virtual const 🔗

应返回在给定的 space 中最后一个物理步骤期间发生了多少次接触。另请参阅 _space_get_contacts_space_set_debug_contacts

PhysicsServer2D 的内部 space_get_contact_count 方法的可覆盖版本。


PackedVector2Array _space_get_contacts(space: RID) virtual const 🔗

应返回给定 space 中上一个物理步骤中发生的所有接触的位置。另请参阅 _space_get_contact_count_space_set_debug_contacts

PhysicsServer2D 的内部 space_get_contacts 方法的可覆盖版本。


PhysicsDirectSpaceState2D _space_get_direct_state(space: RID) virtual 🔗

PhysicsServer2D.space_get_direct_state 的可覆盖版本。


float _space_get_param(space: RID, param: SpaceParameter) virtual const 🔗

PhysicsServer2D.space_get_param 的可覆盖版本。


bool _space_is_active(space: RID) virtual const 🔗

PhysicsServer2D.space_is_active 的可覆盖版本。


void _space_set_active(space: RID, active: bool) virtual 🔗

PhysicsServer2D.space_set_active 的可覆盖版本。


void _space_set_debug_contacts(space: RID, max_contacts: int) virtual 🔗

内部使用以允许给定的 space 存储接触点,最多可达 max_contacts。当 SceneTree.debug_collisions_hinttrue 时,或通过在编辑器中勾选“可见碰撞形状”,将自动为主 World2D 的空间设置该设置。仅适用于调试构建。

PhysicsServer2D 的内部 space_set_debug_contacts 方法的可覆盖版本。


void _space_set_param(space: RID, param: SpaceParameter, value: float) virtual 🔗

PhysicsServer2D.space_set_param 的可覆盖版本。


void _step(step: float) virtual 🔗

每个物理步骤期间调用来处理物理模拟。step 是自上一个物理步骤以来经过的时间,单位为秒。它通常与 Node.get_physics_process_delta_time 相同。

PhysicsServer2D 的内部 step 方法的可覆盖版本。


void _sync() virtual 🔗

调用该方法表示物理服务器正在同步,如果在单独的线程上运行则无法访问物理状态。另请参阅 _end_sync

PhysicsServer2D 的内部 sync 方法的可覆盖版本。


RID _world_boundary_shape_create() virtual 🔗

PhysicsServer2D.world_boundary_shape_create 的可覆盖版本。


bool body_test_motion_is_excluding_body(body: RID) const 🔗

如果具有指定 RID 的物体被排除在 _body_test_motion 之外,则返回 true。另见 Object.get_instance_id


bool body_test_motion_is_excluding_object(object: int) const 🔗

如果具有指定实例 ID 的对象被排除在 _body_test_motion 之外,则返回 true。另见 Object.get_instance_id