improve gameover sound effect (fade/pitch down
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
const utils = require('../utils');
|
const utils = require('../utils');
|
||||||
|
|
||||||
var once = {once: true};
|
var once = {once: true};
|
||||||
|
var BASE_VOLUME = 0.75;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Active challenge song / audio.
|
* Active challenge song / audio.
|
||||||
@@ -21,7 +22,7 @@ AFRAME.registerComponent('song', {
|
|||||||
this.victory = this.victory.bind(this);
|
this.victory = this.victory.bind(this);
|
||||||
|
|
||||||
// Base volume.
|
// Base volume.
|
||||||
this.audioAnalyser.gainNode.gain.value = 0.75;
|
this.audioAnalyser.gainNode.gain.value = BASE_VOLUME;
|
||||||
|
|
||||||
// Restart, get new buffer source node and play.
|
// Restart, get new buffer source node and play.
|
||||||
this.el.addEventListener('pausemenurestart', () => {
|
this.el.addEventListener('pausemenurestart', () => {
|
||||||
@@ -41,10 +42,16 @@ AFRAME.registerComponent('song', {
|
|||||||
|
|
||||||
// Game over, slow down audio, and then stop.
|
// Game over, slow down audio, and then stop.
|
||||||
if (!oldData.isGameOver && data.isGameOver) {
|
if (!oldData.isGameOver && data.isGameOver) {
|
||||||
this.source.playbackRate.value = 0.75;
|
this.source.playbackRate.setValueAtTime(this.source.playbackRate.value,
|
||||||
|
this.context.currentTime);
|
||||||
|
this.source.playbackRate.linearRampToValueAtTime(0, this.context.currentTime + 3.5);
|
||||||
|
this.audioAnalyser.gainNode.gain.setValueAtTime(this.audioAnalyser.gainNode.gain.value,
|
||||||
|
this.context.currentTime);
|
||||||
|
this.audioAnalyser.gainNode.gain.linearRampToValueAtTime(0, this.context.currentTime + 3.5);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.stopAudio();
|
this.stopAudio();
|
||||||
}, 2000);
|
this.audioAnalyser.gainNode.value = BASE_VOLUME;
|
||||||
|
}, 3500);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user