diff options
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) |