跳到主要内容

Area

继承

CollisionObject

简要描述

用于检测3D物理影响的通用区域节点。

描述

检测CollisionObject节点重叠,进入或退出的3D区域。

成员

类型属性名默认值
floatangular_damp0.1
Stringaudio_bus_name"Master"
boolaudio_bus_overridefalse
intcollision_layer1
intcollision_mask1
floatgravity9.8
floatgravity_distance_scale0.0
boolgravity_pointfalse
Vector3gravity_vecVector3( 0, -1, 0 )
floatlinear_damp0.1
boolmonitorabletrue
boolmonitoringtrue
floatpriority0.0
floatreverb_bus_amount0.0
boolreverb_bus_enablefalse
Stringreverb_bus_name"Master"
floatreverb_bus_uniformity0.0
intspace_override0

方法

返回值类型方法名称
boolget_collision_layer_bit(bit: int) const
boolget_collision_mask_bit(bit: int) const
Arrayget_overlapping_areas() const
Arrayget_overlapping_bodies() const
booloverlaps_area(area: Node) const
booloverlaps_body(body: Node) const
voidset_collision_layer_bit(bit: int, value: bool)
voidset_collision_mask_bit(bit: int, value: bool)

信号

  • **area_entered**

当另一个区域进入时发出。


  • **area_exited**

当另一个区域退出时发出。


  • **area_shape_entered**

当另一个区域进入时发出,报告哪些区域重叠。


  • **area_shape_exited**

当另一个区域退出时发出,报告哪些区域重叠。


  • **body_entered**

当物理物体进入时发出。

body参数可以是PhysicsBody[GridMap]实例(虽然GridMap本身不是物理物体,但它们将具有碰撞形状的图块注册为虚拟物理物体)。


  • **body_exited**

当物理物体退出时发出。

body参数可以是PhysicsBody[GridMap]实例(虽然GridMap本身不是物理物体,但它们将具有碰撞形状的图块注册为虚拟物理物体)。


  • **body_shape_entered**

当物理物体进入时发出,报告哪些形状重叠。

body参数可以是PhysicsBody[GridMap]实例(虽然GridMap本身不是物理物体,但它们将具有碰撞形状的图块注册为虚拟物理物体)。


  • **body_shape_exited**

当物理物体退出时发出,报告哪些形状重叠。

body参数可以是PhysicsBody[GridMap]实例(虽然GridMap本身不是物理物体,但它们将具有碰撞形状的图块注册为虚拟物理物体)。


枚举

enum SpaceOverride:

  • **SPACE_OVERRIDE_DISABLED = 0**

该区域不影响重力/阻尼。

  • **SPACE_OVERRIDE_COMBINE = 1**

此区域将其重力/阻尼值添加到到目前为止已计算的任何值(按[成员优先级]顺序)。

  • **SPACE_OVERRIDE_COMBINE_REPLACE = 2**

该区域将其重力/阻尼值添加到到目前为止已计算的任何内容(按[成员优先级]顺序),而忽略任何较低优先级的区域。

  • **SPACE_OVERRIDE_REPLACE = 3**

该区域取代了所有重力/阻尼,甚至是默认设置,而忽略了任何较低优先级的区域。

  • **SPACE_OVERRIDE_REPLACE_COMBINE = 4**

该区域替换了到目前为止计算出的所有重力/阻尼(按[成员优先级]顺序),但继续计算其余区域。


常量

成员说明

  • float angular_damp
Default0.1
setterset_angular_damp(value)
getterget_angular_damp
  • String audio_bus_name
Default"Master"
setterset_audio_bus(value)
getterget_audio_bus
  • bool audio_bus_override
Defaultfalse
setterset_audio_bus_override(value)
getteris_overriding_audio_bus
  • int collision_layer
Default1
setterset_collision_layer(value)
getterget_collision_layer
  • int collision_mask
Default1
setterset_collision_mask(value)
getterget_collision_mask
  • float gravity
Default9.8
setterset_gravity(value)
getterget_gravity
  • float gravity_distance_scale
Default0.0
setterset_gravity_distance_scale(value)
getterget_gravity_distance_scale
  • bool gravity_point
Defaultfalse
setterset_gravity_is_point(value)
getteris_gravity_a_point
  • Vector3 gravity_vec
DefaultVector3( 0, -1, 0 )
setterset_gravity_vector(value)
getterget_gravity_vector
  • float linear_damp
Default0.1
setterset_linear_damp(value)
getterget_linear_damp
  • bool monitorable
Defaulttrue
setterset_monitorable(value)
getteris_monitorable
  • bool monitoring
Defaulttrue
setterset_monitoring(value)
getteris_monitoring
  • float priority
Default0.0
setterset_priority(value)
getterget_priority
  • float reverb_bus_amount
Default0.0
setterset_reverb_amount(value)
getterget_reverb_amount
  • bool reverb_bus_enable
Defaultfalse
setterset_use_reverb_bus(value)
getteris_using_reverb_bus
  • String reverb_bus_name
Default"Master"
setterset_reverb_bus(value)
getterget_reverb_bus
  • float reverb_bus_uniformity
Default0.0
setterset_reverb_uniformity(value)
getterget_reverb_uniformity
  • int space_override
Default0
setterset_space_override_mode(value)
getterget_space_override_mode

方法说明

  • get_collision_layer_bit get_collision_layer_bit(bit: int) const

返回图层蒙版上的单个位。


  • get_collision_mask_bit get_collision_mask_bit(bit: int) const

返回碰撞掩码上的单个位。


  • get_overlapping_areas get_overlapping_areas() const

返回相交的Area列表。


  • get_overlapping_bodies get_overlapping_bodies() const

返回相交的PhysicsBody的列表。


  • overlaps_area overlaps_area(area: Node) const

如果true,则给定区域与Area重叠。

注意:移动物体后,该测试的结果不是立即产生的。


  • overlaps_body overlaps_body(body: Node) const

如果true为真,则给定的物理实体与Area重叠。

注意:移动物体后,该测试的结果不是立即产生的。

body参数可以是PhysicsBody[GridMap]实例(虽然GridMap本身不是物理物体,但它们将具有碰撞形状的图块注册为虚拟物理物体)。


  • set_collision_layer_bit set_collision_layer_bit(bit: int, value: bool)

设置/清除层掩码上的各个位。


  • set_collision_mask_bit set_collision_mask_bit(bit: int, value: bool)

设置/清除冲突掩码上的各个位。