diff options
Diffstat (limited to 'Scripts')
-rw-r--r-- | Scripts/drawing.gd | 38 |
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) |