Показать сообщение отдельно
Старый 24.04.2010, 04:33
studmar вне форума Посмотреть профиль Отправить личное сообщение для studmar Найти все сообщения от studmar
  № 9  
Ответить с цитированием
studmar
 
Аватар для studmar

Регистрация: Apr 2010
Сообщений: 81
Покапался по иностранным сайтам и в итоге "слепил" из того, что уже было конструкцию (скорее всего неправильную, ибо я не программист, а дизайнер), но рабочую.
Источник "второго" куска кода здесь

Код AS1/AS2:
var muz:Sound = new Sound(); 
muz.loadSound("test2.mp3", false); //подгружаем mp3 из "внешнего" источника
 
btn.onRollOver = function () { //для movieclip с именем btn при наведении мышки
muz.start();  //воспроизводим музон
muz.setVolume(100); //устанавливаем громкость, это по желанию
};
 
btn.onRollOut = fadeOutSound; // вот тут самое такое, как я понимаю при отводе мышки вызывается функция, которая сначала уменьшает громкость а потом выключает музон
 
function fadeOutSound():Void {
    if (id) {
        clearInterval(id);
    }
    var volume = muz.getVolume();
    id = setInterval(fadeOut, 10);
    function fadeOut():Void {
        muz.setVolume(volume--);
        if (volume<=0) {
            clearInterval(id);
            muz.stop();
        }
    }
}
Теперь все выглядит так: при наведении мышки на movieclip "btn" воспроизводится файл, при отводе плавно затихает. Если навести мышку снова - все повторится сначала, а было бы интересно сделать так, чтобы проигрывалось с того самого места, когда мышку убрали... может кто знает как этого добится?

Так же можно заморочиться и сделать еще fade in для звук

test2.rar