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
En esta pagina de apuntes, vamos a crear un componentes reutilizables: un script que se puede añadir como nodo a distintas escenas para aplicar un comportamiento común. Esta técnica es útil para organizar mejor el proyecto y evitar repetir código cuando varios nodos comparten la misma lógica.
Vamos usar la escena Slime para mostrar una referencia de como crear nuevos componentes.
Vamos hacer componentes del movimiento, hurtbox y health del Slime.
Los componentes se crean como scripts independientes normales.
Script:
MarkerMovementAIC
HurtBoxC: añado la variable a la función collision. No sé cómo hace MakerTech para enlazar funciones sin que le dé problemas al no incluir la variable. areaVar es el nodo que ha entrado en contacto, como puede ser el jugador, su espada u otro enemigo.
HealthC
El script Slime deberia quedar asi.
Estos scripts que hemos creado aparecerán como nodos en "Create New Node". Vamos a añadirle al slime estos tres nuevos componentes.
Actualizamos los inspectores de estos componentes.
HurtBoxC
HealthC
Creamos un signal del componente conectado a la funcion is_death del script del nodo padre.
MarkerMovementAIC
Borramos el Signal del nodo Hurtbox.
Para arreglar posibles problemas con las hitboxes, vamos a crear la capa PlayerWeapon para la mascara de Hurtbox del Slime.
Modificamos la capa de la espada del Player.
He hecho un apaño a la función hurtByEnemy del Player, evitando que el enemigo te haga daño mientras esta reproduciendo la animación de muerte, por algún motivo vuelve hacer daño la animación de muerte del enemigo.
Y aqui acabamos, como ejercicio de practica, podemos crear componentes para el resto de funciones del Slime o el Player.
No hay comentarios:
Publicar un comentario