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

Регистрация: Apr 2010
Сообщений: 81
К сожалению у меня ничего не получилось, а получилось вот что
Код AS1/AS2:
var sounds:Array = new Array();
 
for (i = 1; i < 4; i++) {
	sounds[i]  = new Array(); 
	var mc:MovieClip  = this.createEmptyMovieClip('s' + i + '_mc', this.getNextHighestDepth()); 
	sounds[i] = new Sound (mc);
	sounds[i].loadSound('s' + i + '.mp3', false);
	sounds[i].onSoundComplete = function():Void {
	sounds[i].position=0;
	sounds[i].flag=true;
}
 
	var btn:MovieClip = this['s' + i + '_btn']; 
	btn.num = i; 
	btn.onRollOver  = startPlay;
	btn.onRollOut  = fadeOutSound;
 
}
 
function startPlay() {
	var n:Number = this.num;
	sounds[n].start(Math.floor(position/1000)); 
	sounds[n].setVolume(40);
 
 
}
 
function fadeOutSound() {
	n = this.num;
	  if (id) {
        clearInterval(id);
    }
    var volume = sounds[n].getVolume();
    id = setInterval(fadeOut, 10);
    function fadeOut():Void {
 
	   sounds[n].setVolume(volume--);
        if (volume<=0) 
		{
            clearInterval(id);
      		sounds[n].stop()
		if (sounds[n].flag == true) {
		sounds[n].flag = false;
		}
		else {
		sounds[n].position=sounds[n].position;		
		}
 
 
        }
	}
    }
Сейчас при наведении на 3 mc обе функции срабатывают, но каждый файл воспроизводится заново, а не с того же места...

По поводу кнопок, откуда я взял пример, написано
Код AS1/AS2:
//работа с кнопками
	var btn:MovieClip = this['s' + i + '_btn']; 
	btn.num = i; //сохраняем номер внутри кнопки
	btn.onPress  = startPlay; // в нашем случае, это btn.onRollOver  = startPlay;
        btn.onRelease  = fadeOut; // и btn.onRollOut  = fadeOutSound;