NavigationLink2D

继承: Node2D < CanvasItem < Node < Object

连接两个位于 NavigationRegion2D 上的位置的链接,导航时能够让代理走这个链接。

描述

连接两个位于 NavigationRegion2D 上的位置的链接,导航时能够让代理走这个链接。这两个位置可以在同一个 NavigationRegion2D 上,也可以是在两个不同的区块上。链接可以用来表达沿着导航多边形表面行进以外的导航方法,例如滑锁、传送、跳过沟壑等等。

教程

属性

bool

bidirectional

true

bool

enabled

true

Vector2

end_position

Vector2(0, 0)

float

enter_cost

0.0

int

navigation_layers

1

Vector2

start_position

Vector2(0, 0)

float

travel_cost

1.0

方法

Vector2

get_global_end_position ( ) const

Vector2

get_global_start_position ( ) const

bool

get_navigation_layer_value ( int layer_number ) const

RID

get_rid ( ) const

void

set_global_end_position ( Vector2 position )

void

set_global_start_position ( Vector2 position )

void

set_navigation_layer_value ( int layer_number, bool value )


属性说明

bool bidirectional = true

  • void set_bidirectional ( bool value )

  • bool is_bidirectional ( )

返回这个连接是可以双向通行,还是只能从 start_position 通向 end_position


bool enabled = true

  • void set_enabled ( bool value )

  • bool is_enabled ( )

该链接当前是否处于活动状态。如果为 false ,则 NavigationServer2D.map_get_path 会忽略这个链接。


Vector2 end_position = Vector2(0, 0)

  • void set_end_position ( Vector2 value )

  • Vector2 get_end_position ( )

链接的结束位置。

链接会搜索导航网格中最接近这个位置的多边形,并将自身与该多边形相关联。

链接搜索的距离由 NavigationServer2D.map_set_link_connection_radius 控制。


float enter_cost = 0.0

  • void set_enter_cost ( float value )

  • float get_enter_cost ( )

当寻路从其他地区的导航网格进入该链接时,enter_cost 会加到路径距离中,用于确定最短路径。


int navigation_layers = 1

  • void set_navigation_layers ( int value )

  • int get_navigation_layers ( )

决定链接所属导航层的位域。使用 NavigationServer2D.map_get_path 请求路径时会检查这些导航层。


Vector2 start_position = Vector2(0, 0)

  • void set_start_position ( Vector2 value )

  • Vector2 get_start_position ( )

链接的起始位置。

链接会搜索导航网格中最接近这个位置的多边形,并将自身与该多边形相关联。

链接搜索的距离由 NavigationServer2D.map_set_link_connection_radius 控制。


float travel_cost = 1.0

  • void set_travel_cost ( float value )

  • float get_travel_cost ( )

当寻路沿着该链接移动时,移动距离会和 travel_cost 相乘,用于确定最短路径。


方法说明

Vector2 get_global_end_position ( ) const

返回该链接的 end_position 的全局位置。


Vector2 get_global_start_position ( ) const

返回该链接的 start_position 的全局位置。


bool get_navigation_layer_value ( int layer_number ) const

返回 navigation_layers 位掩码中指定的层是否启用,给定的 layer_number 应在 1 和 32 之间。


RID get_rid ( ) const

返回 NavigationServer2D 上该链接的 RID


void set_global_end_position ( Vector2 position )

设置该链接的 end_position 的全局位置。


void set_global_start_position ( Vector2 position )

设置该链接的 start_position 的全局位置。


void set_navigation_layer_value ( int layer_number, bool value )

根据 value,启用或禁用 navigation_layers 位掩码中指定的层,给定的 layer_number 应在 1 和 32 之间。

Previous Next


© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7.

Built with Sphinx using a theme provided by Read the Docs.