跳转至

Area2D

继承

CollisionObject2D

简要描述

用于检测的2D区域物理影响。

描述

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

成员

类型 属性名 默认值
float angular_damp 1.0
String audio_bus_name "Master"
bool audio_bus_override false
int collision_layer 1
int collision_mask 1
float gravity 98.0
float gravity_distance_scale 0.0
bool gravity_point false
Vector2 gravity_vec Vector2( 0, 1 )
float linear_damp 0.1
bool monitorable true
bool monitoring true
float priority 0.0
int space_override 0

方法

返回值类型 方法名称
bool get_collision_layer_bit(bit: int) const
bool get_collision_mask_bit(bit: int) const
Array get_overlapping_areas() const
Array get_overlapping_bodies() const
bool overlaps_area(area: Node) const
bool overlaps_body(body: Node) const
void set_collision_layer_bit(bit: int, value: bool)
void set_collision_mask_bit(bit: int, value: bool)

信号

  • area_entered

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


  • area_exited

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


  • area_shape_entered

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


  • area_shape_exited

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


  • body_entered

当物理物体进入时发出。

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


  • body_exited

当物理物体退出时发出。

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


  • body_shape_entered

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

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


  • body_shape_exited

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

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


枚举

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
Default 1.0
setter set_angular_damp(value)
getter get_angular_damp
  • String audio_bus_name
Default "Master"
setter set_audio_bus_name(value)
getter get_audio_bus_name
  • bool audio_bus_override
Default false
setter set_audio_bus_override(value)
getter is_overriding_audio_bus
  • int collision_layer
Default 1
setter set_collision_layer(value)
getter get_collision_layer
  • int collision_mask
Default 1
setter set_collision_mask(value)
getter get_collision_mask
  • float gravity
Default 98.0
setter set_gravity(value)
getter get_gravity
  • float gravity_distance_scale
Default 0.0
setter set_gravity_distance_scale(value)
getter get_gravity_distance_scale
  • bool gravity_point
Default false
setter set_gravity_is_point(value)
getter is_gravity_a_point
  • Vector2 gravity_vec
Default Vector2( 0, 1 )
setter set_gravity_vector(value)
getter get_gravity_vector
  • float linear_damp
Default 0.1
setter set_linear_damp(value)
getter get_linear_damp
  • bool monitorable
Default true
setter set_monitorable(value)
getter is_monitorable
  • bool monitoring
Default true
setter set_monitoring(value)
getter is_monitoring
  • float priority
Default 0.0
setter set_priority(value)
getter get_priority
  • int space_override
Default 0
setter set_space_override_mode(value)
getter get_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

返回相交的Area2D的列表。


  • get_overlapping_bodies get_overlapping_bodies() const

返回相交的PhysicsBody2D的列表。


  • overlaps_area overlaps_area(area: Node) const

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

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


  • overlaps_body overlaps_body(body: Node) const

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

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

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


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

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


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

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