fix space music fading in when ending game by adding separate background volume function

This commit is contained in:
jorsi
2020-06-03 18:22:48 -04:00
parent 44a7552de4
commit 783886b9b2
2 changed files with 24 additions and 4 deletions
+19 -1
View File
@@ -191,7 +191,25 @@ var AudioEngine = {
}); });
} }
}, },
setVolume: function (volume, s) { setBackgroundMusicVolume: function (volume, s) {
if (AudioEngine._master == null) return; // master may not be ready yet
if (volume === undefined) {
volume = 1.0;
}
if (s === undefined) {
s = 1.0;
}
// cancel any current schedules and then ramp
var currentBackgroundGainValue = AudioEngine._currentBackgroundMusic.envelope.gain.value;
AudioEngine._currentBackgroundMusic.envelope.gain.cancelScheduledValues(AudioEngine._audioContext.currentTime);
AudioEngine._currentBackgroundMusic.envelope.gain.setValueAtTime(currentBackgroundGainValue, AudioEngine._audioContext.currentTime);
AudioEngine._currentBackgroundMusic.envelope.gain.linearRampToValueAtTime(
volume,
AudioEngine._audioContext.currentTime + s
);
},
setMasterVolume: function (volume, s) {
if (AudioEngine._master == null) return; // master may not be ready yet if (AudioEngine._master == null) return; // master may not be ready yet
if (volume === undefined) { if (volume === undefined) {
volume = 1.0; volume = 1.0;
+5 -3
View File
@@ -400,8 +400,8 @@ var Space = {
} }
delete Outside._popTimeout; delete Outside._popTimeout;
AudioEngine.setVolume(1.0);
AudioEngine.playBackgroundMusic(AudioLibrary.MUSIC_ENDING); AudioEngine.playBackgroundMusic(AudioLibrary.MUSIC_ENDING);
$('#hullRemaining', Space.panel).animate({opacity: 0}, 500, 'linear'); $('#hullRemaining', Space.panel).animate({opacity: 0}, 500, 'linear');
Space.ship.animate({ Space.ship.animate({
top: '350px', top: '350px',
@@ -558,8 +558,10 @@ var Space = {
lowerVolume: function () { lowerVolume: function () {
if (Space.done) return; if (Space.done) return;
// lower audio as ship gets further into space // lower audio as ship gets further into space
var newVolume = 1.0 - (Space.altitude / 60); var progress = Space.altitude / 60;
AudioEngine.setVolume(newVolume, .3); var newVolume = 1.0 - progress;
AudioEngine.setBackgroundMusicVolume(newVolume, .3);
} }
}; };