NavigationLink2D
实验性: This class may be changed or removed in future versions.
继承: Node2D
< CanvasItem
< Node
< Object
A link between two positions on NavigationRegion2D
s that agents can be routed through.
描述
A link between two positions on NavigationRegion2D
s that agents can be routed through. These positions can be on the same NavigationRegion2D
or on two different ones. Links are useful to express navigation methods other than traveling along the surface of the navigation polygon, such as ziplines, teleporters, or gaps that can be jumped across.
属性
bool | bidirectional |
bool | enabled |
Vector2 | end_position |
float | enter_cost |
int | navigation_layers |
Vector2 | start_position |
float | travel_cost |
方法
Vector2 | get_global_end_position ( ) const1 |
Vector2 | get_global_start_position ( ) const1 |
bool | get_navigation_layer_value ( layer_number: int ) const1 |
RID | get_navigation_map ( ) const1 |
RID | get_rid ( ) const1 |
void | set_global_end_position ( position: Vector2 ) |
void | set_global_start_position ( position: Vector2 ) |
void | set_navigation_layer_value ( layer_number: int , value: bool ) |
void | set_navigation_map ( navigation_map: RID ) |
属性说明
bool
bidirectional = true
Whether this link can be traveled in both directions or only from start_position
to end_position
.
bool
enabled = true
Whether this link is currently active. If false
, NavigationServer2D.map_get_path
will ignore this link.
Vector2
end_position = Vector2(0, 0)
Ending position of the link.
This position will search out the nearest polygon in the navigation mesh to attach to.
The distance the link will search is controlled by NavigationServer2D.map_set_link_connection_radius
.
float
enter_cost = 0.0
When pathfinding enters this link from another regions navigation mesh the enter_cost
value is added to the path distance for determining the shortest path.
int
navigation_layers = 1
A bitfield determining all navigation layers the link belongs to. These navigation layers will be checked when requesting a path with NavigationServer2D.map_get_path
.
Vector2
start_position = Vector2(0, 0)
Starting position of the link.
This position will search out the nearest polygon in the navigation mesh to attach to.
The distance the link will search is controlled by NavigationServer2D.map_set_link_connection_radius
.
float
travel_cost = 1.0
When pathfinding moves along the link the traveled distance is multiplied with travel_cost
for determining the shortest path.
方法说明
Vector2
get_global_end_position ( ) const1
Returns the end_position
that is relative to the link as a global position.
Vector2
get_global_start_position ( ) const1
Returns the start_position
that is relative to the link as a global position.
bool
get_navigation_layer_value ( layer_number: int
) const1
Returns whether or not the specified layer of the navigation_layers
bitmask is enabled, given a layer_number
between 1 and 32.
RID
get_navigation_map ( ) const1
Returns the current navigation map RID
used by this link.
Returns the RID
of this link on the NavigationServer2D
.
void
set_global_end_position ( position: Vector2
)
Sets the end_position
that is relative to the link from a global position
.
void
set_global_start_position ( position: Vector2
)
Sets the start_position
that is relative to the link from a global position
.
void
set_navigation_layer_value ( layer_number: int
, value: bool
)
Based on value
, enables or disables the specified layer in the navigation_layers
bitmask, given a layer_number
between 1 and 32.
void
set_navigation_map ( navigation_map: RID
)
Sets the RID
of the navigation map this link should use. By default the link will automatically join the World2D
default navigation map so this function is only required to override the default map.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。