Juego de plataformas en Scratch Parte 2: Abrir puertas con una llave y pasar de nivel

Introducción

Si ya tienes la base para el juego de plataformas puedes utilizar este tutorial para añadir una nueva funcionalidad a tu juego. Aquí te enseñaré a abrir puertas que te lleven a nuevos mapas. Primero sin necesidad de llave, y después con una llave. Después tú podrás modificarlo a tu antojo y ponerlo en tantos niveles como quieras.

Deberías saber

Objetivos

  • Aprender a gestionar objetos que sirven para interactuar con otros.
  • Aprender a gestionar fondos.
  • Anidar condiciones para comprobarlas.

Recuerda que para seguir este tutorial debes tener al menos un Personaje que se mueva a los lados, salte y se apoye en las plataformas. Tal y como se explica en la parte 1 del tutorial de juegos de plataformas.

Crear varios niveles

Lo primero que debes hacer es planificar tu juego. En el mío, como es un ejemplo, solo habrá 3 niveles. Para ello necesitaré los siguientes fondos:

  1. Primer nivel: Se pasará llegando a una puerta.
  2. Segundo nivel: Se pasará cogiendo una llave y llegando a una puerta.
  3. Tercer nivel: Se pasará cogiendo 2 llaves y llegando una puerta.
  4. Final: Tras pasar el último nivel mostraré una mensaje de felicitación.

Una vez tengas bien planificado tu juego y creados los niveles es momento de ponerse a programar. Ten en cuenta que más adelante cuando lo pruebes posiblemente te toque cambiar alguna cosa, pero esos ajustes siempre son necesarios.

Crear la llave y colocarla en el sitio que corresponda en cada nivel

Para ello hay muchas formas. Para las dos llaves del Nivel 3 utilizaré un clon. Si tienes dudas de cómo funcionan los clones puedes crear dos objetos llave o consultar este tutorial sobre clones.

Ahora nos falta controlar si hemos cogido la llave. Cuando la cojamos haremos que se esconda. También crearemos una variable para contar el número de llaves que hemos conseguido. El programa de la llave quedaría como ves a la izquierda. Para terminar el programa habría que añadirle lo correspondiente al nivel 3 si quieres meter más de una llave en el nivel. Es lo mismo pero añadiendo el programa del clon.

Las puertas

Para las puertas puedes crear un objeto. Yo la he pintado en el fondo, por lo que controlaré si la toco a través de un sensor de color. También debo controlar en el fondo en el que me encuentro. Para ello me ayudaré de la siguiente instrucción.

Debemos estudiar qué condiciones deben cumplirse en cada nivel, en mi caso las condiciones son las siguientes:

  • Nivel 1: Con tocar la puerta vale.
  • Nivel 2: Tocar la puerta y tener una llave.
  • Nivel 3: Tocar la puerta y tener dos llaves.

Hay varias formas de realizar estas comprobaciones. El código en el personaje para controlar los niveles quedaría de la siguiente manera.

Tenemos más formas de programar esto. Una simple sería hacer algo parecido a lo que hicimos con la llave. Otra opción:

Esta es otra forma de solucionar el mismo problema.

Últimas comprobaciones

Ahora tendremos que tener en cuenta pequeños detalles, pero muy importantes.

  • En qué posición debe empezar nuestro personaje en cada nivel. Deberemos añadir una instrucción que lo coloque en su sitio cada vez que cambiemos el fondo.
  • Si cuando acabamos el juego escondemos a nuestro personaje, cuando lo empecemos deberemos mostrarlo.
  • Muestra o esconde la variable de las llaves según te convenga.
  • Si solo hicimos el tutorial básico para juego de plataformas para manejar nuestro personaje, este se quedará enganchado en la plataformas con cualquier parte del cuerpo. ¿Cómo solucionarlo?

PISTA:

  • Con estos dos tutoriales puedes crear tu propio juego con decena de niveles.
  • Añade a algún nivel dificultades. Por ejemplo enemigos que te persigan, plataformas móviles, cofres…
  • Haz que tu personaje lance cosas para deshacerse de los malos. Si no sabes puedes consultar este tutorial.

No olvides compartir con nosotros tus creaciones. También puedes encontrar más bananas siguiéndonos en BananaCoders en la comunidad de Scratch o en nuestro Twitter @BananaCoders.

Deja un comentario