No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

El estado de ataque

4/14
Recursos

¿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:

  1. Creación del sprite: Se genera un nuevo sprite llamado S.U.P.R. Batman Attack para mantener consistencia con los nombres de otros movimientos como 'running'.
  2. Importación de imágenes: Se cargan imágenes desde un archivo de strips de dimensiones 87 por 83, utilizando 10 frames en total.
  3. 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 al SPR_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!

Aportes 5

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Mientras estaba haciendo la animación del personaje me di cuenta de ciertas cosas y como podemos deformar a nuestra conveniencia las funciones que el profesor nos va enseñando en este curso

Vamos a contianuar con la creacion del estado de ataque de nuestro personaje , en esta clase nos enfocaremos en los preparativos para despues meterle la mano directo al codigo.

Para esto seguiremos los sig pasos.

  1. Crearemos el sprite de animación de ataque y lo nombraremos con spr_bat_man_attacking, damos en editar imagen y añadimos el sprite de ataque dando clic en.
    1. Pestaña imagen →
    2. Importar tira de imagen →
    3. Buscamos en la carpeta de main char y buscamos el de attack vemos las medidas que tienen y las ajustamos de la sig manera para esta edicion
d. Presionamos convertir

e. Ajustamos la velocidad de nuestro sprite y la colocamos en 12 
Y asi quedaria nuestro sprite
> Recordemos que siempre debemos mover la opcion seleccionada a todos nuestros sprites en central para que no tenga un movimiento raro a la hora de colocar todo.
> 

Script estado de ataque

  1. Procederemos a crear un script de ataque para nuestro personaje principal.
  1. Colocaremos el sig codigo dentro del scrip de ataque para que cuando se ejecute el script, se ejecute el sprite de animacion de ataque

Si presionamos f1 cuando seleccionamos scripts customs que nosotros hayamos creado nos abrira el codigo que tiene dentro ese scriptdonde esta situado ese script.

  1. Procederemos a modificar nuestro obj player para que pueda tener la accion de atacar a su enemigo, y para ello abriremos el script de get input y ahi pondremos con que boton hara estra accion en este caso elegimos J y quedara de la sig forma

4.Ahora en el step code agregaremos un else if, en el cual agregaremos la opcion de atacar y quedara de la sig forma.

Utilicé otra función para la tecla de ataque, en lugar de poner: ***<u>Keyboard\_check(ord("J"));</u>*** Usa la función del mouse para atacar: ***<u>mouse\_check\_button(mb\_left);</u>***

Tenia una duda pero ya lo resolvi. Tengo que cambiarle en scr_state_move a ord al momento de poner vk.