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.
Checking the stable version of the documentation...
PhysicsServer2DExtension
继承: PhysicsServer2D < Object
提供覆盖后可以用来创建自定义 PhysicsServer2D 实现的虚方法。
描述
这个类扩展自 PhysicsServer2D,提供可额外的可覆盖虚方法。覆盖这些方法后,就不会调用物理服务器内部方法,而是调用这些覆盖后的方法。
旨在用于 GDExtension,用于创建自定义 PhysicsServer2D 实现。
方法
void |
_area_add_shape(area: RID, shape: RID, transform: Transform2D, disabled: bool) virtual required |
void |
_area_attach_canvas_instance_id(area: RID, id: int) virtual required |
void |
_area_attach_object_instance_id(area: RID, id: int) virtual required |
void |
_area_clear_shapes(area: RID) virtual required |
_area_create() virtual required |
|
_area_get_canvas_instance_id(area: RID) virtual required const |
|
_area_get_collision_layer(area: RID) virtual required const |
|
_area_get_collision_mask(area: RID) virtual required const |
|
_area_get_object_instance_id(area: RID) virtual required const |
|
_area_get_param(area: RID, param: AreaParameter) virtual required const |
|
_area_get_shape(area: RID, shape_idx: int) virtual required const |
|
_area_get_shape_count(area: RID) virtual required const |
|
_area_get_shape_transform(area: RID, shape_idx: int) virtual required const |
|
_area_get_space(area: RID) virtual required const |
|
_area_get_transform(area: RID) virtual required const |
|
void |
_area_remove_shape(area: RID, shape_idx: int) virtual required |
void |
_area_set_area_monitor_callback(area: RID, callback: Callable) virtual required |
void |
_area_set_collision_layer(area: RID, layer: int) virtual required |
void |
_area_set_collision_mask(area: RID, mask: int) virtual required |
void |
_area_set_monitor_callback(area: RID, callback: Callable) virtual required |
void |
_area_set_monitorable(area: RID, monitorable: bool) virtual required |
void |
_area_set_param(area: RID, param: AreaParameter, value: Variant) virtual required |
void |
_area_set_pickable(area: RID, pickable: bool) virtual required |
void |
_area_set_shape(area: RID, shape_idx: int, shape: RID) virtual required |
void |
_area_set_shape_disabled(area: RID, shape_idx: int, disabled: bool) virtual required |
void |
_area_set_shape_transform(area: RID, shape_idx: int, transform: Transform2D) virtual required |
void |
_area_set_space(area: RID, space: RID) virtual required |
void |
_area_set_transform(area: RID, transform: Transform2D) virtual required |
void |
_body_add_collision_exception(body: RID, excepted_body: RID) virtual required |
void |
_body_add_constant_central_force(body: RID, force: Vector2) virtual required |
void |
_body_add_constant_force(body: RID, force: Vector2, position: Vector2) virtual required |
void |
_body_add_constant_torque(body: RID, torque: float) virtual required |
void |
_body_add_shape(body: RID, shape: RID, transform: Transform2D, disabled: bool) virtual required |
void |
_body_apply_central_force(body: RID, force: Vector2) virtual required |
void |
_body_apply_central_impulse(body: RID, impulse: Vector2) virtual required |
void |
_body_apply_force(body: RID, force: Vector2, position: Vector2) virtual required |
void |
_body_apply_impulse(body: RID, impulse: Vector2, position: Vector2) virtual required |
void |
_body_apply_torque(body: RID, torque: float) virtual required |
void |
_body_apply_torque_impulse(body: RID, impulse: float) virtual required |
void |
_body_attach_canvas_instance_id(body: RID, id: int) virtual required |
void |
_body_attach_object_instance_id(body: RID, id: int) virtual required |
void |
_body_clear_shapes(body: RID) virtual required |
_body_collide_shape(body: RID, body_shape: int, shape: RID, shape_xform: Transform2D, motion: Vector2, r_results: |
|
_body_create() virtual required |
|
_body_get_canvas_instance_id(body: RID) virtual required const |
|
_body_get_collision_exceptions(body: RID) virtual required const |
|
_body_get_collision_layer(body: RID) virtual required const |
|
_body_get_collision_mask(body: RID) virtual required const |
|
_body_get_collision_priority(body: RID) virtual required const |
|
_body_get_constant_force(body: RID) virtual required const |
|
_body_get_constant_torque(body: RID) virtual required const |
|
_body_get_contacts_reported_depth_threshold(body: RID) virtual required const |
|
_body_get_continuous_collision_detection_mode(body: RID) virtual required const |
|
_body_get_direct_state(body: RID) virtual required |
|
_body_get_max_contacts_reported(body: RID) virtual required const |
|
_body_get_mode(body: RID) virtual required const |
|
_body_get_object_instance_id(body: RID) virtual required const |
|
_body_get_param(body: RID, param: BodyParameter) virtual required const |
|
_body_get_shape(body: RID, shape_idx: int) virtual required const |
|
_body_get_shape_count(body: RID) virtual required const |
|
_body_get_shape_transform(body: RID, shape_idx: int) virtual required const |
|
_body_get_space(body: RID) virtual required const |
|
_body_get_state(body: RID, state: BodyState) virtual required const |
|
_body_is_omitting_force_integration(body: RID) virtual required const |
|
void |
_body_remove_collision_exception(body: RID, excepted_body: RID) virtual required |
void |
_body_remove_shape(body: RID, shape_idx: int) virtual required |
void |
_body_reset_mass_properties(body: RID) virtual required |
void |
_body_set_axis_velocity(body: RID, axis_velocity: Vector2) virtual required |
void |
_body_set_collision_layer(body: RID, layer: int) virtual required |
void |
_body_set_collision_mask(body: RID, mask: int) virtual required |
void |
_body_set_collision_priority(body: RID, priority: float) virtual required |
void |
_body_set_constant_force(body: RID, force: Vector2) virtual required |
void |
_body_set_constant_torque(body: RID, torque: float) virtual required |
void |
_body_set_contacts_reported_depth_threshold(body: RID, threshold: float) virtual required |
void |
_body_set_continuous_collision_detection_mode(body: RID, mode: CCDMode) virtual required |
void |
_body_set_force_integration_callback(body: RID, callable: Callable, userdata: Variant) virtual required |
void |
_body_set_max_contacts_reported(body: RID, amount: int) virtual required |
void |
_body_set_mode(body: RID, mode: BodyMode) virtual required |
void |
_body_set_omit_force_integration(body: RID, enable: bool) virtual required |
void |
_body_set_param(body: RID, param: BodyParameter, value: Variant) virtual required |
void |
_body_set_pickable(body: RID, pickable: bool) virtual required |
void |
_body_set_shape(body: RID, shape_idx: int, shape: RID) virtual required |
void |
_body_set_shape_as_one_way_collision(body: RID, shape_idx: int, enable: bool, margin: float, direction: Vector2) virtual required |
void |
_body_set_shape_disabled(body: RID, shape_idx: int, disabled: bool) virtual required |
void |
_body_set_shape_transform(body: RID, shape_idx: int, transform: Transform2D) virtual required |
void |
_body_set_space(body: RID, space: RID) virtual required |
void |
_body_set_state(body: RID, state: BodyState, value: Variant) virtual required |
void |
_body_set_state_sync_callback(body: RID, callable: Callable) virtual required |
_body_test_motion(body: RID, from: Transform2D, motion: Vector2, margin: float, collide_separation_ray: bool, recovery_as_collision: bool, r_result: |
|
_capsule_shape_create() virtual required |
|
_circle_shape_create() virtual required |
|
_concave_polygon_shape_create() virtual required |
|
_convex_polygon_shape_create() virtual required |
|
_damped_spring_joint_get_param(joint: RID, param: DampedSpringParam) virtual required const |
|
void |
_damped_spring_joint_set_param(joint: RID, param: DampedSpringParam, value: float) virtual required |
void |
_end_sync() virtual required |
void |
_finish() virtual required |
void |
_flush_queries() virtual required |
void |
|
_get_process_info(process_info: ProcessInfo) virtual required |
|
void |
_init() virtual required |
_is_flushing_queries() virtual required const |
|
void |
_joint_clear(joint: RID) virtual required |
_joint_create() virtual required |
|
void |
_joint_disable_collisions_between_bodies(joint: RID, disable: bool) virtual required |
_joint_get_param(joint: RID, param: JointParam) virtual required const |
|
_joint_get_type(joint: RID) virtual required const |
|
_joint_is_disabled_collisions_between_bodies(joint: RID) virtual required const |
|
void |
_joint_make_damped_spring(joint: RID, anchor_a: Vector2, anchor_b: Vector2, body_a: RID, body_b: RID) virtual required |
void |
_joint_make_groove(joint: RID, a_groove1: Vector2, a_groove2: Vector2, b_anchor: Vector2, body_a: RID, body_b: RID) virtual required |
void |
_joint_make_pin(joint: RID, anchor: Vector2, body_a: RID, body_b: RID) virtual required |
void |
_joint_set_param(joint: RID, param: JointParam, value: float) virtual required |
_pin_joint_get_flag(joint: RID, flag: PinJointFlag) virtual required const |
|
_pin_joint_get_param(joint: RID, param: PinJointParam) virtual required const |
|
void |
_pin_joint_set_flag(joint: RID, flag: PinJointFlag, enabled: bool) virtual required |
void |
_pin_joint_set_param(joint: RID, param: PinJointParam, value: float) virtual required |
_rectangle_shape_create() virtual required |
|
_segment_shape_create() virtual required |
|
_separation_ray_shape_create() virtual required |
|
void |
_set_active(active: bool) virtual required |
_shape_collide(shape_A: RID, xform_A: Transform2D, motion_A: Vector2, shape_B: RID, xform_B: Transform2D, motion_B: Vector2, r_results: |
|
_shape_get_custom_solver_bias(shape: RID) virtual required const |
|
_shape_get_data(shape: RID) virtual required const |
|
_shape_get_type(shape: RID) virtual required const |
|
void |
_shape_set_custom_solver_bias(shape: RID, bias: float) virtual required |
void |
_shape_set_data(shape: RID, data: Variant) virtual required |
_space_create() virtual required |
|
_space_get_contact_count(space: RID) virtual required const |
|
_space_get_contacts(space: RID) virtual required const |
|
_space_get_direct_state(space: RID) virtual required |
|
_space_get_param(space: RID, param: SpaceParameter) virtual required const |
|
_space_is_active(space: RID) virtual required const |
|
void |
_space_set_active(space: RID, active: bool) virtual required |
void |
_space_set_debug_contacts(space: RID, max_contacts: int) virtual required |
void |
_space_set_param(space: RID, param: SpaceParameter, value: float) virtual required |
void |
|
void |
_sync() virtual required |
_world_boundary_shape_create() virtual required |
|
body_test_motion_is_excluding_body(body: RID) const |
|
body_test_motion_is_excluding_object(object: int) const |
方法说明
void _area_add_shape(area: RID, shape: RID, transform: Transform2D, disabled: bool) virtual required 🔗
PhysicsServer2D.area_add_shape() 的可覆盖版本。
void _area_attach_canvas_instance_id(area: RID, id: int) virtual required 🔗
PhysicsServer2D.area_attach_canvas_instance_id() 的可覆盖版本。
void _area_attach_object_instance_id(area: RID, id: int) virtual required 🔗
PhysicsServer2D.area_attach_object_instance_id() 的可覆盖版本。
void _area_clear_shapes(area: RID) virtual required 🔗
PhysicsServer2D.area_clear_shapes() 的可覆盖版本。
RID _area_create() virtual required 🔗
PhysicsServer2D.area_create() 的可覆盖版本。
int _area_get_canvas_instance_id(area: RID) virtual required const 🔗
PhysicsServer2D.area_get_canvas_instance_id() 的可覆盖版本。
int _area_get_collision_layer(area: RID) virtual required const 🔗
PhysicsServer2D.area_get_collision_layer() 的可覆盖版本。
int _area_get_collision_mask(area: RID) virtual required const 🔗
PhysicsServer2D.area_get_collision_mask() 的可覆盖版本。
int _area_get_object_instance_id(area: RID) virtual required const 🔗
PhysicsServer2D.area_get_object_instance_id() 的可覆盖版本。
Variant _area_get_param(area: RID, param: AreaParameter) virtual required const 🔗
PhysicsServer2D.area_get_param() 的可覆盖版本。
RID _area_get_shape(area: RID, shape_idx: int) virtual required const 🔗
PhysicsServer2D.area_get_shape() 的可覆盖版本。
int _area_get_shape_count(area: RID) virtual required const 🔗
PhysicsServer2D.area_get_shape_count() 的可覆盖版本。
Transform2D _area_get_shape_transform(area: RID, shape_idx: int) virtual required const 🔗
PhysicsServer2D.area_get_shape_transform() 的可覆盖版本。
RID _area_get_space(area: RID) virtual required const 🔗
PhysicsServer2D.area_get_space() 的可覆盖版本。
Transform2D _area_get_transform(area: RID) virtual required const 🔗
PhysicsServer2D.area_get_transform() 的可覆盖版本。
void _area_remove_shape(area: RID, shape_idx: int) virtual required 🔗
PhysicsServer2D.area_remove_shape() 的可覆盖版本。
void _area_set_area_monitor_callback(area: RID, callback: Callable) virtual required 🔗
PhysicsServer2D.area_set_area_monitor_callback() 的可覆盖版本。
void _area_set_collision_layer(area: RID, layer: int) virtual required 🔗
PhysicsServer2D.area_set_collision_layer() 的可覆盖版本。
void _area_set_collision_mask(area: RID, mask: int) virtual required 🔗
PhysicsServer2D.area_set_collision_mask() 的可覆盖版本。
void _area_set_monitor_callback(area: RID, callback: Callable) virtual required 🔗
PhysicsServer2D.area_set_monitor_callback() 的可覆盖版本。
void _area_set_monitorable(area: RID, monitorable: bool) virtual required 🔗
PhysicsServer2D.area_set_monitorable() 的可覆盖版本。
void _area_set_param(area: RID, param: AreaParameter, value: Variant) virtual required 🔗
PhysicsServer2D.area_set_param() 的可覆盖版本。
void _area_set_pickable(area: RID, pickable: bool) virtual required 🔗
如果设置为 true,则允许具有给定 RID 的区域在鼠标光标悬停在其上时检测鼠标输入。
PhysicsServer2D 内部 area_set_pickable 方法的可覆盖版本。对应于 CollisionObject2D.input_pickable。
void _area_set_shape(area: RID, shape_idx: int, shape: RID) virtual required 🔗
PhysicsServer2D.area_set_shape() 的可覆盖版本。
void _area_set_shape_disabled(area: RID, shape_idx: int, disabled: bool) virtual required 🔗
PhysicsServer2D.area_set_shape_disabled() 的可覆盖版本。
void _area_set_shape_transform(area: RID, shape_idx: int, transform: Transform2D) virtual required 🔗
PhysicsServer2D.area_set_shape_transform() 的可覆盖版本。
void _area_set_space(area: RID, space: RID) virtual required 🔗
PhysicsServer2D.area_set_space() 的可覆盖版本。
void _area_set_transform(area: RID, transform: Transform2D) virtual required 🔗
PhysicsServer2D.area_set_transform() 的可覆盖版本。
void _body_add_collision_exception(body: RID, excepted_body: RID) virtual required 🔗
PhysicsServer2D.body_add_collision_exception() 的可覆盖版本。
void _body_add_constant_central_force(body: RID, force: Vector2) virtual required 🔗
PhysicsServer2D.body_add_constant_central_force() 的可覆盖版本。
void _body_add_constant_force(body: RID, force: Vector2, position: Vector2) virtual required 🔗
PhysicsServer2D.body_add_constant_force() 的可覆盖版本。
void _body_add_constant_torque(body: RID, torque: float) virtual required 🔗
PhysicsServer2D.body_add_constant_torque() 的可覆盖版本。
void _body_add_shape(body: RID, shape: RID, transform: Transform2D, disabled: bool) virtual required 🔗
PhysicsServer2D.body_add_shape() 的可覆盖版本。
void _body_apply_central_force(body: RID, force: Vector2) virtual required 🔗
PhysicsServer2D.body_apply_central_force() 的可覆盖版本。
void _body_apply_central_impulse(body: RID, impulse: Vector2) virtual required 🔗
PhysicsServer2D.body_apply_central_impulse() 的可覆盖版本。
void _body_apply_force(body: RID, force: Vector2, position: Vector2) virtual required 🔗
PhysicsServer2D.body_apply_force() 的可覆盖版本。
void _body_apply_impulse(body: RID, impulse: Vector2, position: Vector2) virtual required 🔗
PhysicsServer2D.body_apply_impulse() 的可覆盖版本。
void _body_apply_torque(body: RID, torque: float) virtual required 🔗
PhysicsServer2D.body_apply_torque() 的可覆盖版本。
void _body_apply_torque_impulse(body: RID, impulse: float) virtual required 🔗
PhysicsServer2D.body_apply_torque_impulse() 的可覆盖版本。
void _body_attach_canvas_instance_id(body: RID, id: int) virtual required 🔗
PhysicsServer2D.body_attach_canvas_instance_id() 的可覆盖版本。
void _body_attach_object_instance_id(body: RID, id: int) virtual required 🔗
PhysicsServer2D.body_attach_object_instance_id() 的可覆盖版本。
void _body_clear_shapes(body: RID) virtual required 🔗
PhysicsServer2D.body_clear_shapes() 的可覆盖版本。
bool _body_collide_shape(body: RID, body_shape: int, shape: RID, shape_xform: Transform2D, motion: Vector2, r_results: void*, result_max: int, r_result_count: int32_t*) virtual required 🔗
给定一个 body(刚体)、一个 shape(形状)以及它们各自的相关参数,如果两者之间会发生碰撞,此方法应当返回 true,并将额外的碰撞细节信息传入 r_results 中。
这是 PhysicsServer2D 内部 shape_collide 方法的可重写版本,对应于 PhysicsDirectSpaceState2D.collide_shape()。
RID _body_create() virtual required 🔗
PhysicsServer2D.body_create() 的可覆盖版本。
int _body_get_canvas_instance_id(body: RID) virtual required const 🔗
PhysicsServer2D.body_get_canvas_instance_id() 的可覆盖版本。
Array[RID] _body_get_collision_exceptions(body: RID) virtual required 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 required const 🔗
PhysicsServer2D.body_get_collision_layer() 的可覆盖版本。
int _body_get_collision_mask(body: RID) virtual required const 🔗
PhysicsServer2D.body_get_collision_mask() 的可覆盖版本。
float _body_get_collision_priority(body: RID) virtual required const 🔗
PhysicsServer2D.body_get_collision_priority() 的可覆盖版本。
Vector2 _body_get_constant_force(body: RID) virtual required const 🔗
PhysicsServer2D.body_get_constant_force() 的可覆盖版本。
float _body_get_constant_torque(body: RID) virtual required const 🔗
PhysicsServer2D.body_get_constant_torque() 的可覆盖版本。
float _body_get_contacts_reported_depth_threshold(body: RID) virtual required const 🔗
PhysicsServer2D 内部 body_get_contacts_reported_depth_threshold 方法的可覆盖版本。
注意:Godot 的默认物理实现目前未使用该方法。
CCDMode _body_get_continuous_collision_detection_mode(body: RID) virtual required const 🔗
PhysicsServer2D.body_get_continuous_collision_detection_mode() 的可覆盖版本。
PhysicsDirectBodyState2D _body_get_direct_state(body: RID) virtual required 🔗
PhysicsServer2D.body_get_direct_state() 的可覆盖版本。
int _body_get_max_contacts_reported(body: RID) virtual required const 🔗
PhysicsServer2D.body_get_max_contacts_reported() 的可覆盖版本。
BodyMode _body_get_mode(body: RID) virtual required const 🔗
PhysicsServer2D.body_get_mode() 的可覆盖版本。
int _body_get_object_instance_id(body: RID) virtual required const 🔗
PhysicsServer2D.body_get_object_instance_id() 的可覆盖版本。
Variant _body_get_param(body: RID, param: BodyParameter) virtual required const 🔗
PhysicsServer2D.body_get_param() 的可覆盖版本。
RID _body_get_shape(body: RID, shape_idx: int) virtual required const 🔗
PhysicsServer2D.body_get_shape() 的可覆盖版本。
int _body_get_shape_count(body: RID) virtual required const 🔗
PhysicsServer2D.body_get_shape_count() 的可覆盖版本。
Transform2D _body_get_shape_transform(body: RID, shape_idx: int) virtual required const 🔗
PhysicsServer2D.body_get_shape_transform() 的可覆盖版本。
RID _body_get_space(body: RID) virtual required const 🔗
PhysicsServer2D.body_get_space() 的可覆盖版本。
Variant _body_get_state(body: RID, state: BodyState) virtual required const 🔗
PhysicsServer2D.body_get_state() 的可覆盖版本。
bool _body_is_omitting_force_integration(body: RID) virtual required const 🔗
PhysicsServer2D.body_is_omitting_force_integration() 的可覆盖版本。
void _body_remove_collision_exception(body: RID, excepted_body: RID) virtual required 🔗
PhysicsServer2D.body_remove_collision_exception() 的可覆盖版本。
void _body_remove_shape(body: RID, shape_idx: int) virtual required 🔗
PhysicsServer2D.body_remove_shape() 的可覆盖版本。
void _body_reset_mass_properties(body: RID) virtual required 🔗
PhysicsServer2D.body_reset_mass_properties() 的可覆盖版本。
void _body_set_axis_velocity(body: RID, axis_velocity: Vector2) virtual required 🔗
PhysicsServer2D.body_set_axis_velocity() 的可覆盖版本。
void _body_set_collision_layer(body: RID, layer: int) virtual required 🔗
PhysicsServer2D.body_set_collision_layer() 的可覆盖版本。
void _body_set_collision_mask(body: RID, mask: int) virtual required 🔗
PhysicsServer2D.body_set_collision_mask() 的可覆盖版本。
void _body_set_collision_priority(body: RID, priority: float) virtual required 🔗
PhysicsServer2D.body_set_collision_priority() 的可覆盖版本。
void _body_set_constant_force(body: RID, force: Vector2) virtual required 🔗
PhysicsServer2D.body_set_constant_force() 的可覆盖版本。
void _body_set_constant_torque(body: RID, torque: float) virtual required 🔗
PhysicsServer2D.body_set_constant_torque() 的可覆盖版本。
void _body_set_contacts_reported_depth_threshold(body: RID, threshold: float) virtual required 🔗
PhysicsServer2D 内部 body_set_contacts_reported_depth_threshold 方法的可覆盖版本。
注意:Godot 的默认物理实现目前未使用该方法。
void _body_set_continuous_collision_detection_mode(body: RID, mode: CCDMode) virtual required 🔗
PhysicsServer2D.body_set_continuous_collision_detection_mode() 的可覆盖版本。
void _body_set_force_integration_callback(body: RID, callable: Callable, userdata: Variant) virtual required 🔗
PhysicsServer2D.body_set_force_integration_callback() 的可覆盖版本。
void _body_set_max_contacts_reported(body: RID, amount: int) virtual required 🔗
PhysicsServer2D.body_set_max_contacts_reported() 的可覆盖版本。
void _body_set_mode(body: RID, mode: BodyMode) virtual required 🔗
PhysicsServer2D.body_set_mode() 的可覆盖版本。
void _body_set_omit_force_integration(body: RID, enable: bool) virtual required 🔗
PhysicsServer2D.body_set_omit_force_integration() 的可覆盖版本。
void _body_set_param(body: RID, param: BodyParameter, value: Variant) virtual required 🔗
PhysicsServer2D.body_set_param() 的可覆盖版本。
void _body_set_pickable(body: RID, pickable: bool) virtual required 🔗
如果设置为 true,则允许具有给定 RID 的物体在鼠标光标悬停在其上时检测鼠标输入。
PhysicsServer2D 内部 body_set_pickable 方法的可覆盖版本。对应于 CollisionObject2D.input_pickable。
void _body_set_shape(body: RID, shape_idx: int, shape: RID) virtual required 🔗
PhysicsServer2D.body_set_shape() 的可覆盖版本。
void _body_set_shape_as_one_way_collision(body: RID, shape_idx: int, enable: bool, margin: float, direction: Vector2) virtual required 🔗
PhysicsServer2D.body_set_shape_as_one_way_collision() 的可覆盖版本。
void _body_set_shape_disabled(body: RID, shape_idx: int, disabled: bool) virtual required 🔗
PhysicsServer2D.body_set_shape_disabled() 的可覆盖版本。
void _body_set_shape_transform(body: RID, shape_idx: int, transform: Transform2D) virtual required 🔗
PhysicsServer2D.body_set_shape_transform() 的可覆盖版本。
void _body_set_space(body: RID, space: RID) virtual required 🔗
PhysicsServer2D.body_set_space() 的可覆盖版本。
void _body_set_state(body: RID, state: BodyState, value: Variant) virtual required 🔗
PhysicsServer2D.body_set_state() 的可覆盖版本。
void _body_set_state_sync_callback(body: RID, callable: Callable) virtual required 🔗
在循环的同步阶段,在调用 _step() 之前,分配 body 来调用给定的 callable。另见 _sync()。
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, r_result: PhysicsServer2DExtensionMotionResult*) virtual required const 🔗
PhysicsServer2D.body_test_motion() 的可覆盖版本。与暴露的实现不同,该方法不会通过 PhysicsTestMotionParameters2D 接受所有参数。
RID _capsule_shape_create() virtual required 🔗
PhysicsServer2D.capsule_shape_create() 的可覆盖版本。
RID _circle_shape_create() virtual required 🔗
PhysicsServer2D.circle_shape_create() 的可覆盖版本。
RID _concave_polygon_shape_create() virtual required 🔗
PhysicsServer2D.concave_polygon_shape_create() 的可覆盖版本。
RID _convex_polygon_shape_create() virtual required 🔗
PhysicsServer2D.convex_polygon_shape_create() 的可覆盖版本。
float _damped_spring_joint_get_param(joint: RID, param: DampedSpringParam) virtual required const 🔗
PhysicsServer2D.damped_spring_joint_get_param() 的可覆盖版本。
void _damped_spring_joint_set_param(joint: RID, param: DampedSpringParam, value: float) virtual required 🔗
PhysicsServer2D.damped_spring_joint_set_param() 的可覆盖版本。
void _end_sync() virtual required 🔗
调用该方法表示物理服务器已停止同步。它处于循环的迭代/物理阶段,即使在单独的线程上运行也可以访问物理对象。另见 _sync()。
PhysicsServer2D 的内部 end_sync 方法的可覆盖版本。
void _finish() virtual required 🔗
当主循环结束时调用以关闭物理服务器。另见 MainLoop._finalize() 和 _init()。
PhysicsServer2D 的内部 finish 方法的可覆盖版本。
void _flush_queries() virtual required 🔗
_step() 之前的每个物理步骤期间调用来处理所有剩余查询。
PhysicsServer2D 的内部 flush_queries 方法的可覆盖版本。
void _free_rid(rid: RID) virtual required 🔗
PhysicsServer2D.free_rid() 的可覆盖版本。
int _get_process_info(process_info: ProcessInfo) virtual required 🔗
PhysicsServer2D.get_process_info() 的可覆盖版本。
void _init() virtual required 🔗
在主循环初始化并创建该物理服务器的新实例时调用。另见 MainLoop._initialize() 和 _finish()。
PhysicsServer2D 的内部 init 方法的可覆盖版本。
bool _is_flushing_queries() virtual required const 🔗
当物理服务器正在处理查询时,应返回 true 的可覆盖方法。另见 _flush_queries()。
PhysicsServer2D 内部 is_flushing_queries 方法的可覆盖版本。
void _joint_clear(joint: RID) virtual required 🔗
PhysicsServer2D.joint_clear() 的可覆盖版本。
RID _joint_create() virtual required 🔗
PhysicsServer2D.joint_create() 的可覆盖版本。
void _joint_disable_collisions_between_bodies(joint: RID, disable: bool) virtual required 🔗
PhysicsServer2D.joint_disable_collisions_between_bodies() 的可覆盖版本。
float _joint_get_param(joint: RID, param: JointParam) virtual required const 🔗
PhysicsServer2D.joint_get_param() 的可覆盖版本。
JointType _joint_get_type(joint: RID) virtual required const 🔗
PhysicsServer2D.joint_get_type() 的可覆盖版本。
bool _joint_is_disabled_collisions_between_bodies(joint: RID) virtual required 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 required 🔗
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 required 🔗
PhysicsServer2D.joint_make_groove() 的可覆盖版本。
void _joint_make_pin(joint: RID, anchor: Vector2, body_a: RID, body_b: RID) virtual required 🔗
PhysicsServer2D.joint_make_pin() 的可覆盖版本。
void _joint_set_param(joint: RID, param: JointParam, value: float) virtual required 🔗
PhysicsServer2D.joint_set_param() 的可覆盖版本。
bool _pin_joint_get_flag(joint: RID, flag: PinJointFlag) virtual required const 🔗
PhysicsServer2D.pin_joint_get_flag() 的可覆盖版本。
float _pin_joint_get_param(joint: RID, param: PinJointParam) virtual required const 🔗
PhysicsServer2D.pin_joint_get_param() 的可覆盖版本。
void _pin_joint_set_flag(joint: RID, flag: PinJointFlag, enabled: bool) virtual required 🔗
PhysicsServer2D.pin_joint_set_flag() 的可覆盖版本。
void _pin_joint_set_param(joint: RID, param: PinJointParam, value: float) virtual required 🔗
PhysicsServer2D.pin_joint_set_param() 的可覆盖版本。
RID _rectangle_shape_create() virtual required 🔗
PhysicsServer2D.rectangle_shape_create() 的可覆盖版本。
RID _segment_shape_create() virtual required 🔗
PhysicsServer2D.segment_shape_create() 的可覆盖版本。
RID _separation_ray_shape_create() virtual required 🔗
PhysicsServer2D.separation_ray_shape_create() 的可覆盖版本。
void _set_active(active: bool) virtual required 🔗
PhysicsServer2D.set_active() 的可覆盖版本。
bool _shape_collide(shape_A: RID, xform_A: Transform2D, motion_A: Vector2, shape_B: RID, xform_B: Transform2D, motion_B: Vector2, r_results: void*, result_max: int, r_result_count: int32_t*) virtual required 🔗
给定两个形状及其相关参数,如果两者之间会发生碰撞,应当返回 true,并将额外的碰撞细节信息传入 r_results 中。
这是 PhysicsServer2D 内部 shape_collide 方法的可重写版本,对应于 PhysicsDirectSpaceState2D.collide_shape()。
float _shape_get_custom_solver_bias(shape: RID) virtual required const 🔗
应返回给定 shape 的自定义解算器偏差,该偏差定义了当涉及该形状时,物体在接触时被迫分离的程度。
PhysicsServer2D 的内部 shape_get_custom_solver_bias 方法的可覆盖版本。对应于 Shape2D.custom_solver_bias。
Variant _shape_get_data(shape: RID) virtual required const 🔗
PhysicsServer2D.shape_get_data() 的可覆盖版本。
ShapeType _shape_get_type(shape: RID) virtual required const 🔗
PhysicsServer2D.shape_get_type() 的可覆盖版本。
void _shape_set_custom_solver_bias(shape: RID, bias: float) virtual required 🔗
应为给定的 shape 设置自定义解算器偏差。它定义了接触时物体被迫分离的程度。
PhysicsServer2D 内部 shape_get_custom_solver_bias 方法的可覆盖版本。对应于 Shape2D.custom_solver_bias。
void _shape_set_data(shape: RID, data: Variant) virtual required 🔗
PhysicsServer2D.shape_set_data() 的可覆盖版本。
RID _space_create() virtual required 🔗
PhysicsServer2D.space_create() 的可覆盖版本。
int _space_get_contact_count(space: RID) virtual required const 🔗
应返回在给定的 space 中最后一个物理步骤期间发生了多少次接触。另见 _space_get_contacts() 和 _space_set_debug_contacts()。
PhysicsServer2D 的内部 space_get_contact_count 方法的可覆盖版本。
PackedVector2Array _space_get_contacts(space: RID) virtual required const 🔗
应返回给定 space 中上一个物理步骤中发生的所有接触的位置。另见 _space_get_contact_count() 和 _space_set_debug_contacts()。
PhysicsServer2D 的内部 space_get_contacts 方法的可覆盖版本。
PhysicsDirectSpaceState2D _space_get_direct_state(space: RID) virtual required 🔗
PhysicsServer2D.space_get_direct_state() 的可覆盖版本。
float _space_get_param(space: RID, param: SpaceParameter) virtual required const 🔗
PhysicsServer2D.space_get_param() 的可覆盖版本。
bool _space_is_active(space: RID) virtual required const 🔗
PhysicsServer2D.space_is_active() 的可覆盖版本。
void _space_set_active(space: RID, active: bool) virtual required 🔗
PhysicsServer2D.space_set_active() 的可覆盖版本。
void _space_set_debug_contacts(space: RID, max_contacts: int) virtual required 🔗
内部使用以允许给定的 space 存储接触点,最多可达 max_contacts。当 SceneTree.debug_collisions_hint 为 true 时,或通过在编辑器中勾选“可见碰撞形状”,将自动为主 World2D 的空间设置该设置。仅适用于调试构建。
PhysicsServer2D 的内部 space_set_debug_contacts 方法的可覆盖版本。
void _space_set_param(space: RID, param: SpaceParameter, value: float) virtual required 🔗
PhysicsServer2D.space_set_param() 的可覆盖版本。
void _step(step: float) virtual required 🔗
每个物理步骤期间调用来处理物理模拟。step 是自上一个物理步骤以来经过的时间,单位为秒。通常与 Node.get_physics_process_delta_time() 的返回值相同。
PhysicsServer2D 的内部 step 方法的可覆盖版本。
void _sync() virtual required 🔗
调用该方法表示物理服务器正在同步,如果在单独的线程上运行则无法访问物理状态。另见 _end_sync()。
PhysicsServer2D 的内部 sync 方法的可覆盖版本。
RID _world_boundary_shape_create() virtual required 🔗
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()。