
Код AS1/AS2:
btn.onRelease = function () {
fadeout = setInterval (fadeOut , 100);
};
function fadeOut () {
if (!allSound) {
allSound = new Sound();//скобки пусты, значит этот экземпляр класса Sound влияет на весь звук ролика
}
if (count == undefined) {
count = 10;
}
if (count >= 0) {
allSound.setVolume(count * 10);
count--;
}
else {
clearInterval(fadeout);
}
}
Тут в 10 шагов (каждый шаг - раз в 100 мс) уводится в 0 громкость всех звуков в ролике.
Если нужно опять стартовать какой-то звук, то нужно будет поднять всю громкость до 100 объекта allSound и только тогда стартовать нужный звук.
Если так поступать нежелательно, то нужна несколько другая схема работы со звуком, зависящая от конкретных обстоятельств - откуда и как стартуются звуки, сколько их и пр.
Вот так то же самое, но покороче:

Код AS1/AS2:
btn.onRelease = fadeOut;
function fadeOut () {
fadeout ? null : fadeout = setInterval (fadeOut , 100);
allSound ? null : allSound = new Sound(); //скобки пусты, значит этот экземпляр класса Sound влияет на весь звук ролика
count == undefined ? count = 10 : null ;
if (count > 0) {
count--;
allSound.setVolume(count * 10);
}
else {
clearInterval(fadeout);
}
}