El estado de ataque
Clase 4 de 14 • Curso de Game Maker Studio 2: Interacción y Ataque de los Personajes
Resumen
¿Cómo crear el sprite de animación para el ataque de un personaje en Game Maker Studio?
Empezamos la creación de nuestro videojuego enfocándonos en la animación de ataque del personaje principal. La clave es crear un nuevo sprite
que se adapte a la acción deseada:
- Creación del sprite: Se genera un nuevo
sprite
llamadoS.U.P.R. Batman Attack
para mantener consistencia con los nombres de otros movimientos como 'running'. - Importación de imágenes: Se cargan imágenes desde un archivo de strips de dimensiones 87 por 83, utilizando 10 frames en total.
- Ajuste de frames por segundo: Ajustamos la velocidad de animación a 10 o 12 frames por segundo, según consideremos más adecuado para el efecto deseado.
Este proceso nos brinda la ventaja de manipular la animación a nuestro gusto, aportando creatividad a nuestro videojuego.
¿Cómo programar el estado de ataque en un script de Game Maker?
Una vez que conseguimos la animación de ataque, creamos un script para gestionar el estado de ataque del personaje. El enfoque principal aquí es el cambio de animación:
script StateAttack
sprite_index = SPR_Batman_Attack;
- Script nuevo: Creamos un nuevo script llamado
State Attack
. - Cambio de animación: El script únicamente cambia el
sprite_index
alSPR_Batman_Attack
.
Esto simplifica la manera en que gestionamos el estado del personaje, manteniéndolo eficiente para que se puedan gestionar cambios adicionales en el futuro.
¿Cómo configurar controles para mejorar la jugabilidad?
Una parte esencial es la asignación de controles cómodos y eficientes. Optamos por una configuración común en juegos modernos:
- Uso de teclas WASD: Proporciona un esquema más ergonómico para el movimiento.
- Asignación de ataque: Configuramos la tecla
J
como la acción de ataque.
Para implementar este sistema, modificamos el script de entrada de controles get input
en Game Maker Studio:
if (keyboard_check(ord("D"))) {
// Código para moverse a la derecha
}
if (keyboard_check(ord("A"))) {
// Código para moverse a la izquierda
}
if (keyboard_check(ord("W"))) {
// Código para moverse arriba
}
if (keyboard_check(ord("S"))) {
// Código para moverse abajo
}
if (keyboard_check(ord("J"))) {
attack = true;
} else {
attack = false;
}
Esta estructura simplifica el control del juego, haciéndolo más intuitivo y natural para los jugadores.
¿Cómo preparar el flujo de estados en el objeto del jugador?
Finalmente, integramos nuestra configuración de control y animación en el objeto del jugador. Así gestionamos posibles transiciones de estados:
- Lógica de transición de estados:
- Movimiento si presionamos cualquier dirección configurada.
- Ataque si presionamos
ATTACK
. - Estado
IDLE
si no hay entrada.
Aquí está el código modificado para el obj_player
:
if (attack) {
current_state = State_Attack;
} else if (keyboard_check_any_direction) {
current_state = State_Move;
} else {
current_state = State_Idle;
}
Ejecutamos esta configuración simulando el flujo, visualizando cambios notables como el posicionamiento correcto del ancla en Middle Center
para lograr transiciones suaves entre animaciones. Además, animamos al personaje sin saltos no deseados.
Con todo configurado, probamos y ajustamos para confirmar que esta experiencia se alinea con las expectativas de juego fluido y realista.
¡No olvides seguir experimentando y ajustando para alcanzar una experiencia óptima y personal para el jugador!