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