Los tres frames de animación de uno de los enemigos de JBA

Tutorial de AGD 16: Nuestro primer enemigo.

Mucho hemos caminado desde que creamos nuestra primera pantalla, nuestra primera animación o pusimos a nuestro prota en movimiento. Hoy vamos a comenzar a dar vida a nuestro primer enemigo.

Lo primero que hemos de tener en cuenta es que un enemigo, en realidad, no es mas que un sprite, con tipo distinto al cero, con sus animaciones como cualquier otro y que seguirá las normas establecidas en el bloque de evento del tipo que le corresponda.

No hay misterio, en esencia crearemos un sprite, lo animaremos, decidiremos el tipo y crearemos el código correspondiente en el evento. Si no has creado ya el gráfico y animaciones de tu enemigo, hazte uno (o copia el mio, que puedes observar en la imagen que preside este artículo) y vuelve, ¡te esperamos antes de continuar!.

Situar el Enemigo en Pantalla

Al igual que nuestro protagonista, hemos de situar la posición inicial de nuestro enemigo en la pantalla, a partir de esa posición el enemigo actuará siguiendo el código que tenga asignado según el tipo (lo que quiere decir que podemos hacer que un mismo sprite animado actúa de varias formas segun el tipo que le asignemos en la pantalla de Sprite Positions, a la que se acceder mediante a tecla N. Aparecemos en una pantalla como la siguiente:

Pantalla de configuración de posiciones iniciales de spritesde AGD

Antes de nada, las referencia de comandos de teclado:

N = Pantalla siguiente
P = Pantalla Anterior

Q = Seleccionar sprite siguiente
I = Cambiar la imagen del sprite
T = Cambiar el tipo del sprite

D = Eliminar el sprite seleccionado de la pantalla.

X = Añadir nuevo sprite a la pantalla.

Para crear nuestro primer enemigo, añadiremos un nuevo sprite con X, usando los cursores para situarlo en la posición deseada, con I elegiremos la imagen del sprite que hemos diseñado y con T seleccionaremos tipo 1 (hay 9 incluyendo el del jugador, pero usaremos este) que es el que vamos a usar en este ejemplo. ¡Listo! ya tenemos el sprite de nuestro enemigo, que podremos ver si ejecutamos el juego … pero claro, no se mueve, veamos como darle vida.

Códgo en el Evento “Sprite Type 1”

Vamos al menú principal, entramos en Eventos y seleccionamos el Evento “Sprite Type 1”, saldrá nuestra vieja conocida lista de plantillas, seleccionaremos “Patrolling Enemy (U/D)” y pulsaremos space, esto cargará en el evento el código de un enemigo que patrulla su área rebotando arriba y abajo. Concretamente el siguiente:

IF PARAMA = 0
  IF CANGOUP
    SPRITEUP
  ENDIF
ELSE
  LET PARAMA = 1
ELSE
  IF CANGODOWN
    SPRITEDOWN
  ELSE
    LET PARAMA = 0
  ENDIF
ENDIF
ANIMATE
IF COLLISION 0
  KILL
ENDIF

Este código es bastante sencillo y podemos observar que muchos de los conceptos que utiliza ya los conocemos, pues los estudiamos en el código para el jugador.

Una diferencia primordial es que el código de este enemigo no usa para nada las pulsaciones de tecla realizadas por el jugador, en cambio usa PARAMA (variable disponible para cada sprite) para indicar si el sprite sube (PARAMA = 0) o baja (PARAMA = 1).

En esencia, evalúa la dirección actual del movimiento, y según este comprueba si puede CANGOUP / CANGODOWN, si puede, movemos el sprite si no se puede, se asigna PARAMA para cambiar de dirección. Vemos, por tanto, que los tipos de bloque afectan a todos los sprites, no solo al protagonista.

Tras la comprobación de movimiento, se ejecuta un ANIMATE para que la animación avance un frame.

Por último , se comprueba COLLISSION 0 que significa “SI he colisionado con un sprite de tipo 0” (el jugador) entonces KILL (es decir quita una vida al jugador).

Ahora si, si ejecutamos el juego veremos que nuestro enemigo se mueve y si nos toca, moriremos (no nosotros, el muñequito en pantalla xD).

Y poco más, esto es lo básico de un enemigo, en el próximo capítulo trataré la gestión de KILL y la puntuación básica, como veis poco a poco esto comienza a tomar forma, eso si, no dudéis en trastear con las opciones, las plantillas de enemigo y demás opciones de AGD, este tutorial es una guía que apoya vuestro trabajo de investigación, ensayo y error, pero que en ningún caso puede sustituir este esfuerzo por vuestra parte.

Si te planteas donar en estos tiempos, usa ese dinero para ayudar a tu alrededor.

No voy a negar que este proyecto en realidad me cuesta dinero, y dada mi capacidad adquisitiva, el porcentaje no es pequeño.

PERO, en esta crisis te pido que si piensas en donarme algo, lo evalúes y uses el dinero para ayudar a alguien de tu entorno inmediato.

Seguro que hay alguien que necesita algunos alimentos, científicos que neceistan fondos para investigar el COVID-19

En estos tiempos te pido que les des prioridad.

Si aún así tu posición te permite hacer ambas cosas, te agradezco de antemano tu aportación. ¡Ánimo que de esta salimos juntos!

Representacion en 8x8 Pixels del concepto "Coronavirus" usando una corona amarilla y un 19 rojo debajo

¿Te gusta lo que hago?

En ese caso, puedes ayudarme con los costes de servidor, de dominios, y apoyame para que pueda seguir trabajando en esta dirección.

Recuerda ¡esta donación es completamente voluntaria!

Puedes donar la cantidad que quieras a través de mi página en Paypal.me, si te resulta más cómodo.

Ayudame a entender mejor qué creaciones pueden ser de mayor valor para vosotros, indicandolo en el comentario de paypal.

Gracias de todo corazón.

¿Quieres saber cual es mi plan con los miles de millones de los pozos de petroleo?

Inglés Catalán