using Godot; /// <summary> /// 测试动态创建 NavigationPolygon /// </summary> public partial class TestNavigationPolygon : Node2D { public override void _Ready() { var nv = GetNode<NavigationRegion2D>("NavigationRegion2D"); var navpoy = nv.NavigationPolygon; var outlines = navpoy.Outlines; var polygons = navpoy.Polygons; var vertices = navpoy.Vertices; var polygon = new NavigationPolygon(); // polygon.Vertices = new Vector2[] // { // new Vector2(0,0), new Vector2(200,200), new Vector2(200, 0), new Vector2(0, 200), // new Vector2(50,50), new Vector2(150,150), new Vector2(150, 50), new Vector2(50, 150) // }; // polygon.AddPolygon(new int[] { 0, 2, 1, 3 }); // polygon.AddPolygon(new int[] { 4, 6, 5, 7 }); polygon.AddOutline(new [] { new Vector2(0,0), new Vector2(200, 0), new Vector2(200,200), new Vector2(0, 200) }); polygon.AddOutline(new [] { new Vector2(50,50), new Vector2(150, 50), new Vector2(150,150), new Vector2(50, 150) }); polygon.MakePolygonsFromOutlines(); nv.NavigationPolygon = polygon; } }