Minilop Retroware

MPAGD Principiantes · Parte 11 de 29

Vamos a crear un juego con MPAGD, Parte 11: Objetos coleccionables y nuestro primer código

22 de noviembre de 2020

Voy a crear un hueso y Stinky Dog intentará recogerlos; cada vez que lo haga, conseguirá algunos puntos. Para crear el hueso usaremos el editor de bloques...

Captura de pantalla del tutorial

Diseña tu bloque coleccionable y haz clic en el cuadro de tipo de bloque para recorrer los tipos disponibles hasta llegar a COLLECTABLE

A continuación, abre el editor de pantallas y añade unos cuantos bloques coleccionables a tu pantalla

Captura de pantalla del tutorial

Ahora compila y prueba tu juego (File > Build )

Fíjate en que Stinky Dog ahora recoge los huesos cuando los toca.

Pero la puntuación no aumenta.

Aquí es donde empieza lo bueno...ha llegado el momento de escribir algo de código.

Abre el menú Events, abajo del todo hay un evento llamado Collect Block, haz clic en él y debería abrirse tu editor de texto, con una sola línea de código:

EVENT COLLECTBLOCK

Si no la tiene, simplemente escríbela y pulsa la tecla ENTER (¡PULSA SIEMPRE LA TECLA ENTER AL FINAL DE CADA LÍNEA DE CÓDIGO!)

A continuación, añade la siguiente línea de código debajo:

SCORE 100

y pulsa la tecla Intro.

Ahora, cada vez que se llame a Collect Block, sumará 100 a la puntuación.

Guarda tu script de Collect Block (si usas el Bloc de notas tendrás que cerrarlo)

Pero antes de probarlo tenemos que escribir una línea de código en el evento Player que llame al evento Collect Block.

En el menú Events selecciona Player. El script del jugador se abrirá ahora en tu editor de texto. Debería tener unas 30 líneas de código.

Al principio del script, pero debajo de Event Player, añade el comando:

GETBLOCKS

... y pulsa la tecla Enter

El comando GETBLOCKS elimina cualquier bloque coleccionable con el que el sprite actual esté en contacto y llama al evento Collect Block por cada uno que elimina.

Como lo hemos puesto en el evento Player, esto significa que cuando Stinky Dog toque el bloque coleccionable, este desaparecerá y se llamará al evento Collect Block.

Guarda el archivo del evento del jugador y ciérralo.

Ahora compila y prueba tu juego.

¿Te has fijado en que la puntuación sube 100 por cada coleccionable recogido?

No.

No ha funcionado.

Bueno, en realidad sí ha funcionado. Tu puntuación ha subido 100 por cada uno. El problema es que la puntuación no se refresca.

Y para entender por qué, vamos a tener que mirar otro script de evento.

En el menú Events selecciona Game Initialisation

Debería ser algo parecido a esto:

EVENT GAMEINIT

LET LIVES = 3
AT 0 16
DISPLAY LIVES

AT 0 6
SHOWSCORE

AT 0 25
SHOWHIGH

El script Game Initialisation solo se ejecuta cuando empieza el juego. Si lo lees, es bastante obvio lo que hace:

Empieza el juego con tres vidas

En la fila 0, columna 16, muestra el número de vidas

En la fila 0, columna 6, muestra la puntuación

En la fila 0, columna 25, muestra la puntuación máxima

Así que lo único que hace que la puntuación se refresque ahora mismo es cuando empieza el juego.

Vamos a tener que añadir el código SHOWSCORE al evento Collect Block, de modo que cada vez que se recoja un coleccionable, además de sumar 100 a la puntuación, se refresque la puntuación en pantalla. Abre tu evento Collect Block y añade el código (incluido el AT 0 6). Ahora debería quedar así:

EVENT COLLECTBLOCK

SCORE 100

AT O 6
SHOWSCORE

¡No olvides pulsar ENTER después de la última línea!

Guarda y cierra tu script del evento Collect Block y vuelve a compilar tu juego (Build).

¡Hurra! Stinky Dog puede recoger huesos...¡y sumar puntos!

SIGUIENTE: Parte 12: Añadir escaleras

Todo MPAGD Principiantes