aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornokoe <nokoe@mailbox.org>2025-06-23 15:21:50 +0200
committernokoe <nokoe@mailbox.org>2025-06-23 15:21:50 +0200
commite9306dcbf6c8c520b03c26a26b72a8bcaa2a6020 (patch)
treec0dac4589f82de3e6019a75f9bbfca39ef1fe329
parent5d282cc162729329f124f24cd88386ee1deefa41 (diff)
downloadhurrycurry-e9306dcbf6c8c520b03c26a26b72a8bcaa2a6020.tar
hurrycurry-e9306dcbf6c8c520b03c26a26b72a8bcaa2a6020.tar.bz2
hurrycurry-e9306dcbf6c8c520b03c26a26b72a8bcaa2a6020.tar.zst
move zoom by button out of zoom function
-rw-r--r--client/player/follow_camera.gd13
1 files changed, 7 insertions, 6 deletions
diff --git a/client/player/follow_camera.gd b/client/player/follow_camera.gd
index ebe41f00..cdfe5438 100644
--- a/client/player/follow_camera.gd
+++ b/client/player/follow_camera.gd
@@ -61,12 +61,12 @@ func _process(delta):
if target != null:
follow(delta)
-func _input(_event):
+func _input(event):
if _disable_input: return
if Input.is_action_just_pressed("reset"):
reset()
- if _event is InputEventMagnifyGesture:
- zoom(1 - _event.factor)
+ if event is InputEventMagnifyGesture:
+ zoom(1 - event.factor)
func reset():
angle_target = 0
@@ -74,8 +74,6 @@ func reset():
camera_distance_target = 10
func zoom(zoom_dist: float) -> void:
- zoom_dist += float(Input.is_action_just_pressed("zoom_out_discrete")) * DISCRETE_DURATION
- zoom_dist -= float(Input.is_action_just_pressed("zoom_in_discrete")) * DISCRETE_DURATION
camera_distance_target *= exp(zoom_dist * ZOOM_SPEED)
camera_distance_target = clamp(camera_distance_target, MIN_ZOOM, MAX_ZOOM)
@@ -117,7 +115,10 @@ func follow(delta):
ground = G.interpolate(ground, target.position + Vector3(0., 0.5, 0.), delta * MOVE_WEIGHT)
if not _disable_input:
- zoom(Input.get_axis("zoom_in", "zoom_out") * delta)
+ var zoom_dist = Input.get_axis("zoom_in", "zoom_out") * delta
+ zoom_dist += float(Input.is_action_just_pressed("zoom_out_discrete")) * DISCRETE_DURATION
+ zoom_dist -= float(Input.is_action_just_pressed("zoom_in_discrete")) * DISCRETE_DURATION
+ zoom(zoom_dist)
camera_distance = G.interpolate(camera_distance, camera_distance_target, delta * (ZOOM_WEIGHT_AUTO if autozoom else ZOOM_WEIGHT))