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, 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) 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, 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, 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, results: void*, result_max: int, result_count: int32_t*) virtual required 🔗
给定一个 body、一个 shape 及其各自的参数,如果两者之间发生碰撞,该方法应返回 true,并在 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) 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, 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, results: void*, result_max: int, result_count: int32_t*) virtual required 🔗
给定两个形状及其参数,如果两者之间发生碰撞,则应返回 true,并在 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()。