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

Регистрация: Apr 2010
Сообщений: 81
Покопавшись в сети, попробовал сделать, вот что получилось:
Код AS1/AS2:
createEmptyMovieClip("clip",getNextHighestDepth());
var muz:Sound = new Sound(clip);
var position:Number=0;
muz.loadSound("s1.mp3", false);
muz.onSoundComplete=function():Void{
     position=0;
     flag=true;
}
 
btn.onRollOver = function () { 
	muz.start(Math.floor(position/1000));
	muz.setVolume(25);
	};
 
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()
 
		if (flag == true) {
		flag == false;
		}
		else {
		position=muz.position;		
		}
	 }
    }
}
Вроде работает, как и надо, но срабатывает все один раз: при наведении файл воспроизводится, при отводе "затухает", если снова навести - проигрывается с того же места - все ок. После того как файл проигрался и мышка остается в поле movieclip - ничего не происходит - так и должно быть, затем если отвести и подвести вновь - файл воспроизведется, но если отвести и подвести еще раз - он начнет играть с начала, а не стого же месте, т.о. реально все работает только при одном цикле.


Последний раз редактировалось studmar; 24.04.2010 в 16:58.