Contents

Los sonidos

Para darle un poco de sonido al juego, vamos a añadir una música de fondo, así como diferentes efectos a las acciones recogerGema, quitarVida, morir y ganar. Para ello, descárgate los 5 archivos de audio necesarios haciendo clic AQUÍ y cópialos dentro de la carpeta juegoknights/audio. La música de fondo está libre de derechos y es cortesía del canal de YouTube Always Music. elr estod e sonidos están generados por mí. Para utilizar sonidos en Phaser, debemos: Precargar los archivos de audio en preload Inicializar los archivos de audio en create Reproducir la música desde el inicio del juego en create reproducir los diferentes sonidos en sus acciones correspondientes. Hacer un fundido (fadeOut) de la música al ganar o morir.

    preload: function () {

        //Resto de código

        //Audios
        this.load.audio('musica', 'audio/musica.mp3');
        this.load.audio('gema', 'audio/gema.mp3');
        this.load.audio('vida', 'audio/vida.mp3');
        this.load.audio('ganar', 'audio/ganar.mp3');
        this.load.audio('morir', 'audio/morir.mp3');

    },

    create: function () {

        //Resto de código

        //Audios
        this.audioMusica = juego.add.audio('musica');
        this.audioGema = juego.add.audio('gema');
        this.audioVida = juego.add.audio('vida');
        this.audioGanar = juego.add.audio('ganar');
        this.audioMorir = juego.add.audio('morir');

        //Reproducir música
        this.audioMusica.loopFull(0.2);
        this.audioMusica.play();

    },

    recogerGema: function (knight, gema) {

        gema.kill();
        this.audioGema.play(); //Reproduzco sonido
        this.potencia -= 25;
        this.gemasRecogidas++;
        var texto = document.getElementById('potencia');
        texto.innerHTML = -this.potencia;
        var texto = document.getElementById('gemas');
        texto.innerHTML = 15 - this.gemasRecogidas;

    },

    quitarVida: function () {

        var texto = document.getElementById('vidas');
        this.vidas --;
        texto.innerHTML = this.vidas;
        if (this.vidas >= 0){
            //Continuar con una vida menos
            this.movimiento = 1;
        }
        else{
            //Morir
            this.audioMorir.play(); //Reproduzco sonido
            this.audioMusica.fadeOut(4000); //Fade out música
            this.blueKnight.animations.play('morir' + this.direccionBlue);
        }

    },

    ganar: function () {

        //Le obligo a pararse
        this.movimiento = 0;
        this.blueKnight.body.velocity.x = 0;
        //Animación de ganar
        this.audioGanar.play(); //Reproduzco sonido
        this.audioMusica.fadeOut(4000); //Fade out música
        this.blueKnight.animations.play('ganar' + this.direccionBlue);

    },