diff options
author | cel 🌸 <cel@blos.sm> | 2023-07-07 23:08:09 +0100 |
---|---|---|
committer | cel 🌸 <cel@blos.sm> | 2023-07-07 23:08:09 +0100 |
commit | 45b2751b4e63c8d7b048b005f19f9042782e5a13 (patch) | |
tree | 41f8da13e1a8ef0e4c7f50c8fd7af0ef1addf2a1 /Scripts/drawing.gd | |
parent | 4cb4a220710f3795aa4f4e4bfed3a27617310733 (diff) | |
parent | f3c450b15226a74a8390275ce24f8a4c5b025117 (diff) | |
download | 2023-45b2751b4e63c8d7b048b005f19f9042782e5a13.tar.gz 2023-45b2751b4e63c8d7b048b005f19f9042782e5a13.tar.bz2 2023-45b2751b4e63c8d7b048b005f19f9042782e5a13.zip |
merge branch 'drawing'
Diffstat (limited to '')
-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) |