Pablo Monteserín

Aprender desarrollo de videojuegos para móviles y web con Phaser.js


Скачать книгу

interactivo (setInteractive()) para que reaccione a los eventos del usuario.

      • Le vinculamos el evento pointerdown. De esta forma, cuando pulsemos sobre la zona se disparará el método opcionPulsada, que puede ver al final de esta página.

Illustration Illustration

      Como comentaba, dentro de la clase Escena definiremos el método que se lanzará en el caso de que el usuario pulse sobre la nave. Para ello, utilizaremos el siguiente código:

Illustration

      Debemos escribir un código similar para la zona correspondiente a la bola del mundo.

      Elige tu propia aventura: Cambio de escena

      Evalúa opción

      Vamos a retocar un poco el código del método opciónPulsada. Ahora, además de mostrar un mensaje de alerta mostrando el name de la opción pulsada vamos a evaluar dicha propiedad. De esta forma, si el name es nave, tomaremos un camino, en caso contrario, tomaremos otro.

Illustration

      Cambio de escena

      Vamos a sustituir los mensajes de alerta que se mostraban en el paso anterior por cargar la escena que corresponda:

Illustration

      Debemos definir las escenas que vamos a cargar:

Illustration

       Aprender desarrollo de videojuegos para móviles y web con Phaser.js con 100 ejercicios prácticos

      012

Illustration

      El método this.scene.start recibe como parámetro de entrada el identificador de la escena que vamos a cargar. Este identificador debe ser indicado en el constructor de la escena que queremos cargar.

Illustration

      El constructor de una clase es el código que se ejecuta al instanciar dicha clase.

      Y en la constante config debemos haber definido que vamos a cargar estas escenas.

Illustration Illustration

      Elige tu propia aventura: Escena nave

      Si el usuario decide tomar el camino de ir hacia la nave, volverá a tener dos opciones. Puede atravesar la puerta que le lleva a una lucha encarnizada contra el jefe final del juego, o ir a la tierra.

      Esta escena es prácticamente igual a la escena inicial; volvemos a tener dos zonas interactivas que determinarán la escena que vamos a cargar. Después de hacer las modificaciones pertinentes, la clase EscenaNave nos quedaría así:

Illustration

      Ya solo faltaría añadir la escena del monstruo final. Deberíamos activar esta escena en el caso de que el jugador pulse sobre la puerta de la izquierda en la escena de la nave. Dejo en sus manos desarrollar el código fuente de la EscenaMonstruo. Tenga en cuenta que es muy similar al código fuente de la EscenaHome ya que allí termina el juego y nuestro personaje es comido por el monstruo.

       Aprender desarrollo de videojuegos para móviles y web con Phaser.js con 100 ejercicios prácticos

      013

      Finalmente, no se olvide de añadir la EscenaMonstruo a la propiedad scene del config.

      scene: [Escena, EscenaNave, EscenaHome, EscenaMonstruo],

Illustration

      Acierta la imagen: Introducción y carga de fondo

      Introducción

      En este juego tendremos una imagen grande centrada horizontalmente en la parte superior de la pantalla y otras tres imágenes en la parte inferior. Una de ellas coincide con la superior. Debemos pulsar sobre la imagen de la fila inferior que coincide con la imagen superior.

      Haciendo algunas variaciones en este juego, podríamos programar el típico juego de los topos, en el que estos animales van saliendo de su correspondiente madriguera y hay que golpearlos antes de que pasen cierto tiempo en la superficie.

Illustration

      IMPORTANTE

       Puede encontrar el código fuente paso por paso y todos los recursos (imágenes, sonidos, tiles...) que se han utilizado para realizar este juego en los archivos que ha descargado:

       Carpeta: acierta-imagen

      Cargar fondo

      El siguiente código se ocupa de cargar la imagen de fondo en la escena. Es muy similar al que usamos en el anterior juego de Elige tu propia aventura.

Illustration

       Aprender desarrollo de videojuegos para móviles y web con Phaser.js con 100 ejercicios prácticos

      014

Illustration

      Acierta la imagen:

      Carga de imágenes inferiores

Illustration

      Lo que hemos hecho en el código anterior es:

      • Dentro del método preload:

      1. Redimensionamos el área de juego para que ocupe el 100% de la pantalla del dispositivo.

      2. Añadimos un listener que escuche constantemente cuando redimensionamos la pantalla, para, en caso de hacerlo, volver a llamar al método resize que volverá a redimensionar la pantalla.

      3. Precargamos las cuatro imágenes que pondremos en pantalla cuando llamemos al método create. En este caso, precargamos las imágenes fondo, caraIMG0, caraIMG1 y caraIMG2. También vamos a precargar caraIMG3, ya que más adelante la utilizaremos cuando carguemos las imágenes inferiores de manera aleatoria. Tenga en cuenta que aunque, por ejemplo, caraIMG0 identificará al recurso gráfico que hemos cargado, no tiene por qué coincidir con el nombre de la foto.

      • Dentro del método create:

      1.