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方法创建多边形。