lunes, 14 de abril de 2025

Página 22: Apuntes de "How to Create Melee Combat in Godot 4.1 #23, Part 1: Attack Animation"

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

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

En esta entrada vamos a agregar una animación de ataque al jugador y preparar la base para el sistema de combate del juego.

Vamos a empezar creando una escena llamada Sword, sera una Area2D con un Sprite2d y un CollisionShape2D de hijos. 

El CollisionShape2D de esta escena sera la encargada de hacer daño a los enemigos en cuanto entre en contacto con su area2D Hitbox.

 

Debemos colocar la escena Area2D de la espada de manera que su posición coincida con la cruz roja. La rotación se realizará en torno a ese punto de referencia.
 
 
 
En la escena del jugador, agregaremos un Nodo2D (Weapon) y la escena Sword que hemos creado anteriormente.
 
 
 
 Vamos agregar las animaciones de ataque en el nodo AnimationPlayer.
 
Vamos a necesitar los nodos de Transform > Position y Transform > Rotation del Node2D Weapon y el Animation > Frame Coord del Sprite2D del jugador.
 
Muestro a modo de referencia el AttackDown.
 
0s
Position:  x:-5,y:-1
Rotation: 240
Frame Coord: 0,0

 
0.1s
Position: x:0,y1
Rotation: 180
Frame coord: 0,4
 
 
 
0.2s
Position: x:5,y-1
Rotation: 120
Frame coord: 0,0

 
 
Pulsamos play para ver si la animación ha quedado como queremos.
 
Referencia para las cuatro posiciones de ataque del personaje .
 
 
Creamos el input Attack con la barra de espacio asociada.
 

Actualizamos es script del player.
 

 
 Finalmente vamos hacer que Weapon no se vea en el inicio del juego.
 
Desactivamos Node2D > CanvasItem > Visibility > Visibility 

 
 

Lo que viene a continuación es parte del siguiente videotutorial, pero creo que encaja mejor aquí para tener los apuntes bien organizados.

Procederemos a corregir un problema con el arma del jugador: aunque se vuelve invisible, sigue estando presente y actuando como una especie de espada fantasma.

Vamos adjuntar un script para el arma del jugador Sword. 

Y ahora vamos adjuntar otro script para el nodo Weapon del jugador. 
 
Actualizamos el script del jugador.
 

No hay comentarios:

Publicar un comentario

Archivo del blog