Elige tu propia aventura con PhaserJS

Contactar con el profesor

Cargamos el fondo

class Escena extends Phaser.Scene {
	preload() {
		this.load.image('fondo', '../img/espacio.jpg');
	};

	create() {
		this.add.sprite(480, 320, 'fondo');
	};
}

Area de la puerta pulsada

create(){
	...
	const opcionNave = this.add.zone(140, 10, 450, 410);
	opcionNave.setOrigin(0);
	opcionNave.setInteractive();
	opcionNave.once('pointerdown', () => this.opcionPulsada('nave'));
	this.add.graphics().lineStyle(2, 0xff0000).strokeRectShape(opcionNave);
}
opcionPulsada(opcion) {
	alert(opcion);
}

Evalúa opción

opcionPulsada(opcion) {
	if (opcion === 'nave') {
		alert('nave');
	} else {
		alert('tierra');
	}
}

Con cambio de escena

opcionPulsada(opcion) {
	if (opcion === 'nave') {
		this.scene.start('naveScene');
	} else {
		this.scene.start('homeScene');
	}
}
class EscenaNave extends Phaser.Scene {

	constructor() {
		super('naveScene');
	}
	...
}

const config = {
    ...,
    scene: [Escena, EscenaNave, EscenaHome, EscenaMonstruo],
    ...
};

Escena nave

← Estructura del código de nuestro videojuego
Acierta imagen en PhaserJS →

Aviso Legal | Política de privacidad