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
Scripts del personaje principal
¿Qué es un producto escalable?
Scripts y las ventajas de su uso
Estados
El estado de ataque
Creando un enemigo
Seguimos creando el estado de ataque
Nuestro primer enemigo
Los primeros pasos de nuestro enemigo
Midiendo distancias
El ataque del enemigo
Creando proyectiles
Eliminando a nuestro enemigo
Persistencia de objetos
Objetos persistentes
Porting
Conceptos a considerar para porting
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
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:
sprite
llamado S.U.P.R. Batman Attack
para mantener consistencia con los nombres de otros movimientos como 'running'.Este proceso nos brinda la ventaja de manipular la animación a nuestro gusto, aportando creatividad a nuestro videojuego.
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;
State Attack
.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.
Una parte esencial es la asignación de controles cómodos y eficientes. Optamos por una configuración común en juegos modernos:
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.
Finalmente, integramos nuestra configuración de control y animación en el objeto del jugador. Así gestionamos posibles transiciones de estados:
ATTACK
.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
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.
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.
>
Si presionamos f1 cuando seleccionamos scripts customs que nosotros hayamos creado nos abrira el codigo que tiene dentro ese scriptdonde esta situado ese script.
4.Ahora en el step code agregaremos un else if, en el cual agregaremos la opcion de atacar y quedara de la sig forma.
Tenia una duda pero ya lo resolvi. Tengo que cambiarle en scr_state_move a ord al momento de poner vk.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?