Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.
Vamos a programar nuestro primer videojuego con Phaser. Es un juego basado en los conocidos libros de elige tu propia aventura. En nuestro juego, el jugador visualizará una pantalla con dos opciones. Debe escoger una de ellas haciendo click en su correspondiente imagen. Dependiendo de la imagen pulsada, el jugador será redireccionado a una u otra escena. Por tanto, dependiendo de sus decisiones el juego puede tener un final feliz o desastroso.
Para este primer juego trabajaremos intensamente con los cambios de escena, ya que cada vez que el jugador haga click sobre un área interactiva de la pantalla, haremos uno.
Cargamos el fondo
import spaceBack from './assets/espacio.jpg';
class Space extends Phaser.Scene {
preload() {
this.load.image('spaceBack ', spaceBack );
}
create() {
this.add.sprite(480, 320, 'spaceBack ');
}
update() {
console.log('update');
}
}
export default Space;
Definimos las carpetas Home, Spaceship y Monteser para cada una de las 3 escenas restantes y cargamos los assets que les correspondan.
Área de la puerta pulsada
utils.js
export const loadZone = (scene, x1, y1, x2, y2, nextScene) => {
const opcionNave = scene.add.zone(x1, y1, x2, y2);
opcionNave.setOrigin(0);
opcionNave.setName('nave');
opcionNave.setInteractive();
opcionNave.once('pointerdown', () => scene.scene.start(nextScene));
}
Space.js
create() {
this.add.sprite(480, 320, 'spaceBack');
loadZone(this, 140, 10, 440, 400, 'Starship');
loadZone(this, 590, 240, 370, 410, 'Home');
}
class Starship extends Phaser.Scene {
constructor() {
super('Starship');
}
...
}
const config = {
...,
scene: [Main, Starship, Home, Monster],
...
};