Objetivo
Implementar la cámara 2D con zoom, paneo por arrastre, scroll por bordes, teclas WASD y centrado en unidades, acotada a los límites del mapa.
Alcance
Camera2D con límites (left/top/right/bottom) ajustados al tamaño del mapa generado
- Zoom: rueda del ratón entre 0.3× y 2.0×, con suavizado
- Paneo: clic central/arrastre derecho + teclas WASD
- Edge scroll: el cursor a ≤20 px del borde de la ventana mueve la cámara
Space: centrar en la siguiente unidad sin órdenes (ciclo)
- Animación suave de centrado (tween) al centrar en unidad o ciudad
Skill de referencia
/godot-camera-systems
Tareas
Aceptación
La cámara no sale de los bordes del mapa, el zoom es fluido entre 0.3× y 2.0×, y Space centra en cada unidad sin orden de manera secuencial con animación suave.
Objetivo
Implementar la cámara 2D con zoom, paneo por arrastre, scroll por bordes, teclas WASD y centrado en unidades, acotada a los límites del mapa.
Alcance
Camera2Dcon límites (left/top/right/bottom) ajustados al tamaño del mapa generadoSpace: centrar en la siguiente unidad sin órdenes (ciclo)Skill de referencia
/godot-camera-systemsTareas
GameCamera.gdextendiendoCamera2D: implementar zoom con interpolaciónInputEventMouseMotioncon botón medio/derecho_process()conInput.get_axisy velocidad escalada con zoomget_viewport().get_mouse_position()con tamaño de viewportcycle_unit_without_orders(): lista de unidades sin acción, centrado concreate_tween()Rect2(map_origin, map_size)en cada frameAceptación
La cámara no sale de los bordes del mapa, el zoom es fluido entre 0.3× y 2.0×, y
Spacecentra en cada unidad sin orden de manera secuencial con animación suave.