aqualogue/main/Music.js

56 lines
910 B
JavaScript
Raw Normal View History

2016-05-12 21:35:17 -05:00
Music = (function() {
var S = createjs.Sound;
var Music = {};
var musics = [
"ocean",
"boss",
];
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});
}
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();
return;
}
currentMusic.volume -= 1/16;
window.setTimeout(fade, time/16);
}
}
return Music;
})();