aboutsummaryrefslogtreecommitdiffstats
path: root/Scripts/drawing.gd
diff options
context:
space:
mode:
Diffstat (limited to 'Scripts/drawing.gd')
-rw-r--r--Scripts/drawing.gd38
1 files changed, 38 insertions, 0 deletions
diff --git a/Scripts/drawing.gd b/Scripts/drawing.gd
new file mode 100644
index 0000000..d47e161
--- /dev/null
+++ b/Scripts/drawing.gd
@@ -0,0 +1,38 @@
+extends Node
+
+var drawing = false
+var driving_progress = -1
+var line: Line2D
+var path: Path2D
+
+
+func _ready():
+ line = $TrackLine
+ path = $TrackPath
+ Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
+
+func _process(delta):
+ pass
+
+func _physics_process(delta):
+ if driving_progress >= 0:
+ driving_progress += delta*200
+ $TrackPath/TrackFollower.progress = driving_progress
+ #print(driving_progress)
+
+func _input(event):
+ if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT:
+ drawing = event.pressed
+ if drawing:
+ # start a new drawing
+ line.clear_points()
+ path.curve.clear_points()
+ driving_progress = -1
+ else:
+ # start driving
+ driving_progress = 0
+
+ if event is InputEventMouseMotion and drawing:
+ # extend the line
+ line.add_point(event.position)
+ path.curve.add_point(event.position)