diff options
-rw-r--r-- | client/player/follow_camera.gd | 7 | ||||
-rw-r--r-- | client/project.godot | 10 |
2 files changed, 17 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) diff --git a/client/project.godot b/client/project.godot index 3ff0fc0f..b95c1380 100644 --- a/client/project.godot +++ b/client/project.godot @@ -171,6 +171,16 @@ join_spectate={ "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":3,"pressure":0.0,"pressed":true,"script":null) ] } +zoom_in_discrete={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":8,"position":Vector2(124, 18),"global_position":Vector2(128, 59),"factor":1.0,"button_index":4,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} +zoom_out_discrete={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":16,"position":Vector2(214, 28),"global_position":Vector2(218, 69),"factor":1.0,"button_index":5,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} [internationalization] |