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...

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

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!
