NavigationPolygon¶
Inherits: Resource < Reference < Object
具有绘制轮廓或使用顶点索引来创建导航多边形的方法的节点。
描述¶
创建多边形有两种方法。使用 add_outline 或 add_polygon 方法。
使用 add_outline 方法:
var polygon = NavigationPolygon.new()
var outline = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
polygon.add_outline(outline)
polygon.make_polygons_from_outlines()
$NavigationPolygonInstance.navpoly = polygon
使用 add_polygon 和顶点数组的索引:
var polygon = NavigationPolygon.new()
var vertices = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
polygon.set_vertices(vertices)
var indices = PoolIntArray(0, 3, 1)
polygon.add_polygon(indices)
$NavigationPolygonInstance.navpoly = polygon
教程¶
方法¶
void |
add_outline ( PoolVector2Array outline ) |
void |
add_outline_at_index ( PoolVector2Array outline, int index ) |
void |
add_polygon ( PoolIntArray polygon ) |
void |
clear_outlines ( ) |
void |
clear_polygons ( ) |
get_outline ( int idx ) const |
|
get_outline_count ( ) const |
|
get_polygon ( int idx ) |
|
get_polygon_count ( ) const |
|
get_vertices ( ) const |
|
void |
|
void |
remove_outline ( int idx ) |
void |
set_outline ( int idx, PoolVector2Array outline ) |
void |
set_vertices ( PoolVector2Array vertices ) |
方法说明¶
void add_outline ( PoolVector2Array outline )
将包含轮廓顶点的PoolVector2Array添加到包含所有轮廓的内部数组中。你必须调用make_polygons_from_outlines,将数组转换为引擎可使用的多边形。
void add_outline_at_index ( PoolVector2Array outline, int index )
将包含轮廓顶点的PoolVector2Array添加到内部数组中,该数组包含所有固定位置的轮廓。你必须调用make_polygons_from_outlines,将数组转换为引擎可使用的多边形。
void add_polygon ( PoolIntArray polygon )
使用调用get_vertices得到的顶点的索引添加一个多边形。
void clear_outlines ( )
清除轮廓数组,但不清除顶点和由顶点创建的多边形。
void clear_polygons ( )
清除多边形数组,但不清除轮廓和顶点数组。
PoolVector2Array get_outline ( int idx ) const
返回PoolVector2Array,包含在编辑器中或通过脚本创建的轮廓的顶点。
int get_outline_count ( ) const
返回在编辑器或脚本中创建的轮廓的数量。
PoolIntArray get_polygon ( int idx )
返回包含创建的多边形顶点索引的PoolIntArray。
int get_polygon_count ( ) const
返回多边形的数量。
PoolVector2Array get_vertices ( ) const
返回包含用于创建多边形的所有顶点的PoolVector2Array。
void make_polygons_from_outlines ( )
从编辑器或脚本中添加的轮廓创建多边形。
void remove_outline ( int idx )
删除在编辑器或脚本中创建的轮廓。你必须调用 make_polygons_from_outlines 来更新多边形。
void set_outline ( int idx, PoolVector2Array outline )
更改在编辑器或脚本中创建的轮廓。你必须调用 make_polygons_from_outlines 来更新多边形。
void set_vertices ( PoolVector2Array vertices )
设置顶点,然后使用add_polygon方法创建多边形。