extends Camera2D @export var min_zoom: float = 0.5 @export var max_zoom: float = 4.0 @export var zoom_speed: float = 0.1 @export var target_zoom: float = 2.0 func _ready() -> void: zoom = Vector2(target_zoom, target_zoom) func _input(event: InputEvent) -> void: if event is InputEventMouseButton: if event.button_index == MOUSE_BUTTON_WHEEL_UP: target_zoom = clamp(target_zoom - zoom_speed, min_zoom, max_zoom) elif event.button_index == MOUSE_BUTTON_WHEEL_DOWN: target_zoom = clamp(target_zoom + zoom_speed, min_zoom, max_zoom) func _process(delta: float) -> void: var current_zoom = zoom.x var new_zoom = lerp(current_zoom, target_zoom, delta * 10) zoom = Vector2(new_zoom, new_zoom)