summaryrefslogtreecommitdiff
path: root/demos/2d/polygon_path_finder/polygonpathfinder.gd
diff options
context:
space:
mode:
Diffstat (limited to 'demos/2d/polygon_path_finder/polygonpathfinder.gd')
-rw-r--r--demos/2d/polygon_path_finder/polygonpathfinder.gd49
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()
-
-