extends Camera2D const MOVEMENT_SPEED = 200 const ZOOM_SPEED = 10 const ZOOM_WINDOW = [0.5, 2] const BORDER_THRESHOLD = 50 var movement = Vector2() var zoom_change = 0 func _process(delta): movement = Vector2() zoom_change = 0 if Input.is_action_pressed("ui_right"): movement.x = 1 if Input.is_action_pressed("ui_left"): movement.x = -1 if Input.is_action_pressed("ui_up"): movement.y = -1 if Input.is_action_pressed("ui_down"): movement.y = 1 if Input.is_action_just_pressed("zoom"): zoom_change = 1 if Input.is_action_just_pressed("dezoom"): zoom_change = -1 movement = movement.normalized() var zoom_value = max(min(zoom.x + zoom_change*ZOOM_SPEED*delta, ZOOM_WINDOW[1]), ZOOM_WINDOW[0]) zoom = Vector2(zoom_value, zoom_value) position = position+movement*MOVEMENT_SPEED*delta