extends Camera2D onready var basketball = $"../Basketball" onready var hoop = $"../Hoop" func _process(_delta): if !basketball.waiting_for_shoot: position = (basketball.position + hoop.position) / 2 adjust_zoom() func adjust_zoom(): if !basketball.waiting_for_shoot and (basketball.position.distance_to(hoop.position) + (basketball.drag_radius * 3)) > limit_right: set_zoom(Vector2(1, 1) * ((basketball.position.distance_to(hoop.position) + (basketball.drag_radius * 3)) / limit_right)) elif basketball.waiting_for_shoot and (basketball.start_position.distance_to(hoop.position) + (basketball.drag_radius * 3)) > limit_right: set_zoom(Vector2(1, 1) * ((basketball.start_position.distance_to(hoop.position) + (basketball.drag_radius * 3)) / limit_right)) else: set_zoom(Vector2(1, 1)) var zoom_level = get_zoom() set_zoom(Vector2(clamp(zoom_level.x, 1, 1.94), clamp(zoom_level.y, 1, 1.94))) func _on_Basketball_reset(): position = (basketball.start_position + hoop.position) / 2 adjust_zoom()