diff options
| author | tpart <tpart120@proton.me> | 2024-07-17 15:18:21 +0200 |
|---|---|---|
| committer | tpart <tpart120@proton.me> | 2024-07-17 15:18:21 +0200 |
| commit | f473eb054d5477f53171e27c925fcea0336fe0ca (patch) | |
| tree | 018927a1ae88655aa760ead2447eb96e6ce1e3b7 /client/player | |
| parent | c3afe5a3063dc1a20122ff6bda847ab771d5c26b (diff) | |
| download | hurrycurry-f473eb054d5477f53171e27c925fcea0336fe0ca.tar hurrycurry-f473eb054d5477f53171e27c925fcea0336fe0ca.tar.bz2 hurrycurry-f473eb054d5477f53171e27c925fcea0336fe0ca.tar.zst | |
Scroll to zoom
Diffstat (limited to 'client/player')
| -rw-r--r-- | client/player/follow_camera.gd | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/client/player/follow_camera.gd b/client/player/follow_camera.gd index 4fb2d560..5440f8b1 100644 --- a/client/player/follow_camera.gd +++ b/client/player/follow_camera.gd @@ -27,6 +27,7 @@ const ANGLE_UP_MAX: float = 1.2 const LOOK_WEIGHT: float = 8.0 const MOVE_WEIGHT: float = 2.0 const ZOOM_SPEED: float = 10.0 +const ZOOM_SPEED_DISCRETE: float = 1.0 const ZOOM_WEIGHT: float = 10.0 const MAX_ZOOM: float = 20.0 const MIN_ZOOM: float = 2.0 @@ -88,6 +89,12 @@ func follow(delta): ground = G.interpolate(ground, target.position + Vector3(0., 0.5, 0.), delta * MOVE_WEIGHT) camera_distance_target += Input.get_axis("zoom_in", "zoom_out") * ZOOM_SPEED * delta + + if Input.is_action_just_pressed("zoom_in_discrete"): + camera_distance_target -= ZOOM_SPEED_DISCRETE + elif Input.is_action_just_pressed("zoom_out_discrete"): + camera_distance_target += ZOOM_SPEED_DISCRETE + camera_distance_target = clamp(camera_distance_target, MIN_ZOOM, MAX_ZOOM) camera_distance = G.interpolate(camera_distance, camera_distance_target, delta * ZOOM_WEIGHT) |