lunes, 19 de mayo de 2025

Pagina 37: Apuntes de "Zelda-like CAMERA in GODOT | room transition | fixed position | tutorial "

Lista de reproducción completa del tutorial de Godot sobre cómo crear un Action-RPG en Godot, creada por MakerTech

Season 1

https://www.youtube.com/playlist?list=PLMQtM2GgbPEVuTgD4Ln17ombTg6EahSLr 

Season 2

https://www.youtube.com/playlist?list=PLMQtM2GgbPEWCCJG8xywVPrOBcU6KpcNq

Extra

https://www.youtube.com/playlist?list=PLMQtM2GgbPEXTqB6PCXSvXlgTIc20uPd3

 

Vamos a añadir un sistema de cámara al estilo de los Zelda clásicos, donde la cámara se desplaza por secciones o casillas.

Esta parte se me hizo algo densa, así que es posible que estos apuntes no estén implementados exactamente igual que en el vídeo tutorial.

Crearemos un mundo para poner a prueba nuestra cámara.

Vamos hacer a crear un nuevo script para la cámara. 

 

Actualizamos el script del jugador y añadimos una variable export llamada sprite_size, por si en el futuro queremos usar un sprite más grande o más pequeño. Así podremos ajustar su tamaño directamente desde el inspector.

 

Si estás usando la misma escena del mundo que hemos trabajado hasta ahora, debes comentar la línea camera.follow_node = player para evitar errores.

La cámara no funciona correctamente al cambiar al jugador de escena, como al entrar en la casa que hicimos hace varias páginas. No se adapta bien a la casilla correspondiente, pero con lo que hemos visto hasta ahora, podemos hacernos una idea de cómo hacer un apaño para solucionar el problema.

Un repaso general al funcionamiento de la cámara

La lógica de este vídeo tutorial consiste en mantener al jugador dentro de un perímetro usando la función clamp_to_limits. El script de la cámara detecta cuándo el jugador alcanza uno de los cuatro bordes del área —como se muestra en la imagen— y, al tocar un límite, la cámara se desplaza a la siguiente zona. En ese momento, clamp_to_limits empuja al jugador hacia dentro del nuevo perímetro para mantenerlo dentro del área visible.

De esta forma nos aseguramos de que sea la cámara la que controla el movimiento del jugador por el mundo, y no al revés, como ocurría antes, donde era el jugador quien arrastraba a la cámara.

 

Podrá parecer una pagina simple y que he hecho otros artículos mucho mas complejos, pero me ha costado bastante de asimilar y tampoco me ha ayudado de que algunas cosas mostradas en el video no me han funcionado y he tenido que hacer cambios como me ha pasado con la función de clamp_to_limits del jugador.

No hay comentarios:

Publicar un comentario

Archivo del blog