光线投射2d

Inherits: Node2D < CanvasItem < Node < Object

类别: 核心

简要说明

查询与光线相交的最近对象。

方法

无效

add_exception ( Object node )

无效

add_exception_rid ( RID rid )

无效

clear_exceptions ( )

无效

force_raycast_update ( )

Object

get_collider ( ) const

int

get_collider_shape ( ) const

bool

get_collision_mask_bit ( int bit ) const

Vector2

get_collision_normal ( ) const

Vector2

get_collision_point ( ) const

bool

is_colliding ( ) const

无效

remove_exception ( Object node )

无效

remove_exception_rid ( RID rid )

无效

set_collision_mask_bit ( int bit, bool value )

描述

光线投射表示从起点到终点的直线, cast_to . 它用于查询二维空间,以便沿着光线路径找到最近的对象。

raycast2d可以通过以下方式忽略一些对象:将它们添加到异常列表 add_exception 通过设置适当的碰撞层过滤,或通过使用类型掩码过滤对象类型。

raycast2d可配置为报告与 Area2D S (collide_with_areas )和/或 PhysicsBody2D S (collide_with_bodies

只有启用的光线投射才能查询空间并报告碰撞。

raycast2d计算每个物理帧的交点(请参见 Node ,并缓存结果,以便稍后使用,直到下一帧。如果物理帧之间(或在同一帧中)需要多个查询,请使用 force_raycast_update 调整光线投射后。

属性描述

违约

矢量2(0,50)

设定器

将“强制转换”设置为(值)

吸气剂

把你的角色分配给

光线的目标点,相对于光线投射的 position .

  • bool collide_with_areas

违约

设定器

设置“碰撞”区域(值)

吸气剂

是否与已启用的区域发生冲突?

如果 true ,与碰撞 Area2D 将报告。

  • bool collide_with_bodies

违约

设定器

设置“碰撞”与“体”(值)

吸气剂

是否与身体碰撞(启用)

如果 true ,与碰撞 PhysicsBody2D 将报告。

  • int collision_mask

违约

1

设定器

设置碰撞屏蔽(值)

吸气剂

获取碰撞掩模(

光线的碰撞遮罩。将仅检测在遮罩中启用的至少一个碰撞层中的对象。

违约

设定器

设置启用(值)

吸气剂

是否已启用(

如果 true ,将报告碰撞。

  • bool exclude_parent

违约

设定器

设置排除父体(值)

吸气剂

get_exclude_parent_body()。

如果 true ,父节点将被排除在碰撞检测之外。

方法说明

  • void add_exception ( Object node )

添加碰撞异常,使光线不会报告与指定节点的碰撞。

  • void add_exception_rid ( RID rid )

添加碰撞异常,使光线不会报告与指定的 RID .

  • void clear_exceptions ( )

删除此光线的所有碰撞例外。

  • void force_raycast_update ( )

更新光线的碰撞信息。使用此方法立即更新碰撞信息,而不是等待下一个 _physics_process 例如,如果光线或其父级已更改状态,则调用。

注: enabled == true 不需要执行此操作。

  • Object get_collider ( ) const

返回光线相交的第一个对象,或者 null 如果没有物体与射线相交(即 is_colliding 收益率 false

  • int get_collider_shape ( ) const

返回光线相交的第一个对象的形状ID,或者 0 如果没有物体与射线相交(即 is_colliding 收益率 false

  • bool get_collision_mask_bit ( int bit ) const

返回碰撞遮罩上的单个位。

  • Vector2 get_collision_normal ( ) const

返回相交对象在碰撞点的形状的法向。

  • Vector2 get_collision_point ( ) const

返回光线与最近对象相交的碰撞点。

注: 这一点在 全球的 坐标系。

  • bool is_colliding ( ) const

返回是否有任何对象与光线的矢量相交(考虑矢量长度)。

  • void remove_exception ( Object node )

删除碰撞异常,以便光线报告与指定节点的碰撞。

  • void remove_exception_rid ( RID rid )

删除碰撞异常,以便光线报告与指定的 RID .

  • void set_collision_mask_bit ( int bit, bool value )

设置或清除碰撞遮罩上的单个位。这使得选择扫描区域更加容易。