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 |
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 |
_area_create() virtual |
|
_area_get_canvas_instance_id(area: RID) virtual const |
|
_area_get_collision_layer(area: RID) virtual const |
|
_area_get_collision_mask(area: RID) virtual const |
|
_area_get_object_instance_id(area: RID) virtual const |
|
_area_get_param(area: RID, param: AreaParameter) virtual const |
|
_area_get_shape(area: RID, shape_idx: int) virtual const |
|
_area_get_shape_count(area: RID) virtual const |
|
_area_get_shape_transform(area: RID, shape_idx: int) virtual const |
|
_area_get_space(area: RID) virtual const |
|
_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 |
_body_collide_shape(body: RID, body_shape: int, shape: RID, shape_xform: Transform2D, motion: Vector2, results: |
|
_body_create() virtual |
|
_body_get_canvas_instance_id(body: RID) virtual const |
|
_body_get_collision_exceptions(body: RID) virtual const |
|
_body_get_collision_layer(body: RID) virtual const |
|
_body_get_collision_mask(body: RID) virtual const |
|
_body_get_collision_priority(body: RID) virtual const |
|
_body_get_constant_force(body: RID) virtual const |
|
_body_get_constant_torque(body: RID) virtual const |
|
_body_get_contacts_reported_depth_threshold(body: RID) virtual const |
|
_body_get_continuous_collision_detection_mode(body: RID) virtual const |
|
_body_get_direct_state(body: RID) virtual |
|
_body_get_max_contacts_reported(body: RID) virtual const |
|
_body_get_mode(body: RID) virtual const |
|
_body_get_object_instance_id(body: RID) virtual const |
|
_body_get_param(body: RID, param: BodyParameter) virtual const |
|
_body_get_shape(body: RID, shape_idx: int) virtual const |
|
_body_get_shape_count(body: RID) virtual const |
|
_body_get_shape_transform(body: RID, shape_idx: int) virtual const |
|
_body_get_space(body: RID) virtual const |
|
_body_get_state(body: RID, state: BodyState) virtual const |
|
_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 |
_body_test_motion(body: RID, from: Transform2D, motion: Vector2, margin: float, collide_separation_ray: bool, recovery_as_collision: bool, result: |
|
_capsule_shape_create() virtual |
|
_circle_shape_create() virtual |
|
_concave_polygon_shape_create() virtual |
|
_convex_polygon_shape_create() virtual |
|
_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 |
|
_get_process_info(process_info: ProcessInfo) virtual |
|
void |
_init() virtual |
_is_flushing_queries() virtual const |
|
void |
_joint_clear(joint: RID) virtual |
_joint_create() virtual |
|
void |
_joint_disable_collisions_between_bodies(joint: RID, disable: bool) virtual |
_joint_get_param(joint: RID, param: JointParam) virtual const |
|
_joint_get_type(joint: RID) virtual const |
|
_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 |
_pin_joint_get_flag(joint: RID, flag: PinJointFlag) virtual const |
|
_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 |
_rectangle_shape_create() virtual |
|
_segment_shape_create() virtual |
|
_separation_ray_shape_create() virtual |
|
void |
_set_active(active: bool) virtual |
_shape_collide(shape_A: RID, xform_A: Transform2D, motion_A: Vector2, shape_B: RID, xform_B: Transform2D, motion_B: Vector2, results: |
|
_shape_get_custom_solver_bias(shape: RID) virtual const |
|
_shape_get_data(shape: RID) virtual const |
|
_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 |
_space_create() virtual |
|
_space_get_contact_count(space: RID) virtual const |
|
_space_get_contacts(space: RID) virtual const |
|
_space_get_direct_state(space: RID) virtual |
|
_space_get_param(space: RID, param: SpaceParameter) virtual const |
|
_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 |
|
void |
_sync() virtual |
_world_boundary_shape_create() virtual |
|
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 🔗
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() 的可覆盖版本。
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()。
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 🔗
在循环的同步阶段,在调用 _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, 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() 的可覆盖版本。
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() 的可覆盖版本。
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_hint 为 true
时,或通过在编辑器中勾选“可见碰撞形状”,将自动为主 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()。