aqualogue/main/Music.js

62 lines
1 KiB
JavaScript
Raw Normal View History

2016-05-12 21:35:17 -05:00
Music = (function() {
var S = createjs.Sound;
var Music = {};
var musics = [
"ocean",
"new-ocean",
"cavern",
2016-05-12 21:35:17 -05:00
"boss",
];
2016-05-15 13:19:18 -05:00
Music.volume = 0.5;
2016-05-12 21:35:17 -05:00
Music.init = function() {
musics.forEach(function(m) {
S.registerSound("assets/music/" + m + ".ogg", "M_" + m);
});
}
var currentMusic;
Music.play = function(name, noloop) {
if (currentMusic) {
currentMusic.stop();
currentMusic.destroy();
}
Music.current = name;
currentMusic = S.play("M_" + name, {interrupt: createjs.Sound.INTERRUPT_ANY, loop: noloop ? 0 : -1});
2016-05-15 13:19:18 -05:00
currentMusic.volume = Music.volume;
2016-05-12 21:35:17 -05:00
}
Music.fadeout = function(time) {
if (!currentMusic) {
return;
}
var m = currentMusic;
fade();
function fade() {
if (m != currentMusic) {
return;
}
if (currentMusic.volume <= 0) {
currentMusic.stop();
currentMusic.destroy();
2016-05-14 16:54:35 -05:00
currentMusic = undefined;
2016-05-12 21:35:17 -05:00
return;
}
2016-05-15 13:19:18 -05:00
currentMusic.volume -= Music.volume/16;
2016-05-12 21:35:17 -05:00
window.setTimeout(fade, time/16);
}
}
return Music;
})();