diff options
Diffstat (limited to 'demos/2d/polygon_path_finder/polygonpathfinder.gd')
-rw-r--r-- | demos/2d/polygon_path_finder/polygonpathfinder.gd | 49 |
1 files changed, 23 insertions, 26 deletions
diff --git a/demos/2d/polygon_path_finder/polygonpathfinder.gd b/demos/2d/polygon_path_finder/polygonpathfinder.gd index a0e71dd127..1e843043da 100644 --- a/demos/2d/polygon_path_finder/polygonpathfinder.gd +++ b/demos/2d/polygon_path_finder/polygonpathfinder.gd @@ -1,37 +1,38 @@ extends Spatial + func _ready(): var pf = PolygonPathFinder.new() var points = Vector2Array() var connections = IntArray() - # poly 1 - points.push_back(Vector2(0, 0)) #0 - points.push_back(Vector2(10, 0)) #1 - points.push_back(Vector2(10, 10)) #2 - points.push_back(Vector2(0, 10)) #3 - - connections.push_back(0) # connect vertex 0 ... + # Poly 1 + points.push_back(Vector2(0, 0)) # 0 + points.push_back(Vector2(10, 0)) # 1 + points.push_back(Vector2(10, 10)) # 2 + points.push_back(Vector2(0, 10)) # 3 + + connections.push_back(0) # Connect vertex 0... connections.push_back(1) # ... to 1 drawLine(points[0], points[1], get_node("/root/Spatial/Polys")) - connections.push_back(1) # connect vertex 1 ... + connections.push_back(1) # Connect vertex 1... connections.push_back(2) # ... to 2 drawLine(points[1], points[2], get_node("/root/Spatial/Polys")) - connections.push_back(2) # etc. + connections.push_back(2) # Etc. connections.push_back(3) drawLine(points[2], points[3], get_node("/root/Spatial/Polys")) - connections.push_back(3) # connect vertex 3 ... - connections.push_back(0) # back to vertex 0, to close the polygon + connections.push_back(3) # Connect vertex 3... + connections.push_back(0) # ... back to vertex 0, to close the polygon drawLine(points[3], points[0], get_node("/root/Spatial/Polys")) - - # poly 2, as obstacle inside poly 1 - points.push_back(Vector2(2, 0.5)) #4 - points.push_back(Vector2(4, 0.5)) #5 - points.push_back(Vector2(4, 9.5)) #6 - points.push_back(Vector2(2, 9.5)) #7 - + + # Poly 2, as obstacle inside poly 1 + points.push_back(Vector2(2, 0.5)) # 4 + points.push_back(Vector2(4, 0.5)) # 5 + points.push_back(Vector2(4, 9.5)) # 6 + points.push_back(Vector2(2, 9.5)) # 7 + connections.push_back(4) connections.push_back(5) drawLine(points[4], points[5], get_node("/root/Spatial/Polys")) @@ -44,24 +45,22 @@ func _ready(): connections.push_back(7) connections.push_back(4) drawLine(points[7], points[4], get_node("/root/Spatial/Polys")) - - print("points: ",points) - print("connections: ",connections) + print("points: ", points) + print("connections: ", connections) pf.setup(points, connections) var path = pf.find_path(Vector2(1, 5), Vector2(8, 5)) var lastStep = null - print("path: ",path) + print("path: ", path) for step in path: - print("step: ",step) + print("step: ", step) if (lastStep != null): var currPathSegment = Vector2Array() drawLine(lastStep, step, get_node("/root/Spatial/Path")) lastStep = step - func drawLine(pointA, pointB, immediateGeo): @@ -76,5 +75,3 @@ func drawLine(pointA, pointB, immediateGeo): im.add_vertex(Vector3(pointA.x, drawPosY, pointA.y)) im.add_vertex(Vector3(pointB.x, drawPosY, pointB.y)) im.end() - - |