Download: Camera script

Уже настроенная 2д камера с прописанной математикой расстояний, движения и т.д.

Просто создать узел типа Node2D и добавить к нему скрипт выше, а потом при нажатии на этот узел в разделе свойств появятся действия, требуется прописать действия из Проект→Список действий и данная камера успешно подключится. Чтобы её использовать нужно использовать функции из скрипта выше, например если существует узел background: TileMap и нужно узнать на какую плитку нажал пользователь то вот пример скрипта реализации данной схемы:

@onready var camera_holder : CameraPlaceholder = get_node(node_path) # node_path - путь до самой камеры, 
func _input(event):
    if Input.is_action_just_released("LMB"):
	if camera_holder == null:
		push_warning("camera is not defined")
		return null
	if event.has_method("get_position"):
		print("Mouse Click/Unclick at: ", event.position)  
		var l_pos: Vector2i = background.local_to_map(camera_holder.computeMinimumPointBoundary() + event.position)
		background.set_cell(0, l_pos, 1, TabIcon.current_tile_atlas_coords)