区域二维¶
Inherits: CollisionObject2D < Node2D < CanvasItem < Node < Object
类别: 核心
简要说明¶
二维探测区域和二维物理影响。
属性¶
1.0 |
||
“主控形状” |
||
假 |
||
1 |
||
1 |
||
98.0 |
||
0.0 |
||
假 |
||
矢量2(0,1) |
||
0.1 |
||
真 |
||
真 |
||
0.0 |
||
0 |
方法¶
get_collision_layer_bit ( int bit ) const |
|
get_collision_mask_bit ( int bit ) const |
|
get_overlapping_areas ( ) const |
|
get_overlapping_bodies ( ) const |
|
overlaps_area ( Node area ) const |
|
overlaps_body ( Node body ) const |
|
无效 |
set_collision_layer_bit ( int bit, bool value ) |
无效 |
set_collision_mask_bit ( int bit, bool value ) |
信号¶
area_entered ( Area2D area )
当另一个区域进入时发出。
area_exited ( Area2D area )
当另一个区域退出时发出。
当另一个区域进入时发出,报告哪些形状重叠。
当另一个区域退出时发出,报告哪些形状重叠。
body_entered ( Node body )
当物理体进入时发出的。
这个 body
参数可以是 PhysicsBody2D 或A TileMap 实例(虽然tilemaps本身不是物理体,但它们将其具有碰撞形状的分片注册为虚拟物理体)。
body_exited ( Node body )
当物理体退出时发出的。
这个 body
参数可以是 PhysicsBody2D 或A TileMap 实例(虽然tilemaps本身不是物理体,但它们将其具有碰撞形状的分片注册为虚拟物理体)。
当物理体进入时发出,报告哪些形状重叠。
这个 body
参数可以是 PhysicsBody2D 或A TileMap 实例(虽然tilemaps本身不是物理体,但它们将其具有碰撞形状的分片注册为虚拟物理体)。
当物理体退出时发出,报告哪些形状重叠。
这个 body
参数可以是 PhysicsBody2D 或A TileMap 实例(虽然tilemaps本身不是物理体,但它们将其具有碰撞形状的分片注册为虚拟物理体)。
枚举¶
枚举 SpaceOverride :
SPACE_OVERRIDE_DISABLED = 0 ---该区域不影响重力/阻尼。
SPACE_OVERRIDE_COMBINE = 1 ——该区域将其重力/阻尼值与迄今为止计算的值相加(in priority 命令)。
SPACE_OVERRIDE_COMBINE_REPLACE = 2 ——该区域将其重力/阻尼值与迄今为止计算的值相加(in priority 顺序),忽略任何低优先级区域。
SPACE_OVERRIDE_REPLACE = 3 ---此区域将替换任何重力/阻尼,甚至是默认值,忽略任何较低优先级的区域。
SPACE_OVERRIDE_REPLACE_COMBINE = 4 ---该区域取代目前计算的任何重力/阻尼(in priority 但继续计算其余区域。
描述¶
检测到的二维区域 CollisionObject2D 节点重叠、进入或退出。还可以更改或覆盖局部物理参数(重力、阻尼)。
属性描述¶
float angular_damp
违约 |
1.0 |
设定器 |
设置角度阻尼(值) |
吸气剂 |
得到角阻尼 |
物体在这个区域停止旋转的速率。表示每秒损失的角速度。值的范围从 0
(无阻尼)至 1
(全阻尼)。
String audio_bus_name
违约 |
“主控形状” |
设定器 |
设置音频总线名称(值) |
吸气剂 |
获取音频总线名称() |
区域音频总线的名称。
bool audio_bus_override
违约 |
假 |
设定器 |
设置音频总线覆盖(值) |
吸气剂 |
是否覆盖音频总线( |
如果 true
,该区域的音频总线将覆盖默认音频总线。
int collision_layer
违约 |
1 |
设定器 |
设置碰撞层(值) |
吸气剂 |
获取“碰撞层”() |
该区域的物理层。可碰撞对象可以存在于32个不同层中的任何一个层中。如果对象A在对象B扫描的任何层中,或者对象B在对象A扫描的任何层中,则会检测到接触。另请参见 collision_mask .
int collision_mask
违约 |
1 |
设定器 |
设置碰撞屏蔽(值) |
吸气剂 |
获取碰撞掩模( |
物理层对此区域进行扫描以确定碰撞检测。
float gravity
违约 |
98.0 |
设定器 |
设置重力(值) |
吸气剂 |
获得重力 |
该区域的重力强度(范围从-1024到1024)。该值乘以重力矢量。这有助于在不改变重力方向的情况下改变重力。
float gravity_distance_scale
违约 |
0.0 |
设定器 |
设置重力距离刻度(值) |
吸气剂 |
得到重力距离刻度 |
点重力的衰减因子。值越大,重力随距离减小的越快。
bool gravity_point
违约 |
假 |
设定器 |
设置重力为点(值) |
吸气剂 |
是重力点 |
如果 true
,从一个点计算重力(通过 gravity_vec )也见 space_override .
Vector2 gravity_vec
违约 |
矢量2(0,1) |
设定器 |
设置重力矢量(值) |
吸气剂 |
得到重力矢量 |
该区域的重力矢量(未标准化)。如果重力是一个点(参见 gravity_point ,这将是吸引人的地方。
float linear_damp
违约 |
0.1 |
设定器 |
设置线性阻尼(值) |
吸气剂 |
得到线性阻尼 |
对象在此区域中停止移动的速率。表示每秒损失的线性速度。值的范围从 0
(无阻尼)至 1
(全阻尼)。
bool monitorable
违约 |
真 |
设定器 |
设置可监视(值) |
吸气剂 |
可监视() |
如果 true
,其他监控区域可以检测到该区域。
bool monitoring
违约 |
真 |
设定器 |
设置监视(值) |
吸气剂 |
正在监视( |
如果 true
,该区域检测进入和退出该区域的身体或区域。
float priority
违约 |
0.0 |
设定器 |
设置优先级(值) |
吸气剂 |
获取优先级() |
该地区的优先权。首先处理更高优先级的区域。
SpaceOverride space_override
违约 |
0 |
设定器 |
设置“空间覆盖”模式(值) |
吸气剂 |
获取空间覆盖模式()。 |
此区域内重力和阻尼计算的覆盖模式。见 SpaceOverride 对于可能的值。
方法说明¶
返回层掩码上的单个位。描述其他区域是否会与给定层上的此区域发生冲突。
返回碰撞遮罩上的单个位。描述此区域是否与给定层上的其他区域冲突。
Array get_overlapping_areas ( ) const
返回相交列表 Area2D
s.由于性能原因(碰撞都是同时处理的),这个列表在物理步骤中修改一次,而不是在移动对象后立即修改。考虑改用信号。
Array get_overlapping_bodies ( ) const
返回相交列表 PhysicsBody2D s.由于性能原因(碰撞都是同时处理的),这个列表在物理步骤中修改一次,而不是在移动对象后立即修改。考虑改用信号。
如果 true
,给定区域与区域2d重叠。
注: 移动对象后,此测试的结果不会立即显示。对于性能,重叠列表在物理步骤之前每帧更新一次。考虑改用信号。
如果 true
给定的物理体与区域2d重叠。
注: 移动对象后,此测试的结果不会立即显示。对于性能,重叠列表在物理步骤之前每帧更新一次。考虑改用信号。
这个 body
参数可以是 PhysicsBody2D 或A TileMap 实例(虽然tilemaps本身不是物理体,但它们将其具有碰撞形状的分片注册为虚拟物理体)。
设置/清除图层蒙版上的各个位。这使得只从一层进入/离开一个区域更容易。
设置/清除碰撞屏蔽上的单个位。这使得选择扫描区域更加容易。