Ajouter des effets sonores au jeu vidéo

Suite de la série d’articles consacrés à la création d’un shooter avec phaser.js, le précédent étant consacré à la gestion d’une barre de vie.

On fait simple en intégrant 2 effets sonores : le 1er au lancement du laser et le 2nd lorsque les météorites explosent.

Tout comme les sprites et animations, avant de pouvoir jouer tout effet sonore, il faut au préalable les charger en mémoire depuis la méthode preload.

preload() {....
 this.load.audio('laser', 'assets/audio/laserSound.mp3');
 this.load.audio('explosion', 'assets/audio/explosion.wav');
....}

On intègre à la scène 2 nouvelles propriétés laserSound et explosionSound au moment de sa création depuis create.

create() {....
 this.laserSound = this.sound.add("laser");
 this.explosionSound = this.sound.add("explosion");
....}

En appelant sur laserSound la méthode play, on joue le son du laser lorsque joueur tire.

update() {....
 } else if ( this.readyToUp && this.cursors.space.isUp ) {
  this.laser = this.laserGroup.get(this.shooter.x, this.shooter.y-this.shooter.height,'laser');
  this.add.existing(this.laser);
  this.laserSound.play() ;
  this.gameLayer.add(this.laser);
  this.laser.velocity = -300;
  this.laser.start();
  this.readyToUp = false;    
 } else {
....}

Et en appelant sur explosionSound la méthode play lors des collisions entre laser ou shooter.

handleLaserMeteorCollision(shooter,meteor) {
 meteor.disableBody();
 this.explosionSound.play();
....}

handleShooterMeteorCollision(shooter,meteor) {
 meteor.disableBody();
 this.explosionSound.play();
....}

Lors de la prochaine étape est prévue le comptage des points avec l’ajout d’un score à l’affichage.

Ne rate pas cette chance

 

Reçois ton livre GRATUIT pour créer des jeux vidéo.

Bravo, jette un œil à ta boite mail pour télécharger ton guide.