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

Регистрация: Apr 2010
Сообщений: 81
С вами нельзя не согласиться, спасибо огромное!

Интересно было бы сделать это все для нескольких movieclip, я пытаюсь, пытаюсь, но пока ничего не получается.
Может дадите подсказку?

Понятное дело что тут нужны массивы и т.п. но в этом я точно запутаюсь...

Чуть позже покажу что получается, может вы меня поправите...

Вот, отталкиваясь от этой темы: http://www.flasher.ru/forum/showthre...370#edit886806 и предыдущего кода

пока смог сделать (для трех movieclip):
Код 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 {
    position=0;
	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() {
	 sounds[i]  = new Array();
	 if (id) {
        clearInterval(id);
    }
    var volume = sounds[n].getVolume();
    id = setInterval(fadeOut, 10);
    function fadeOut():Void {
 
	   sounds.setVolume(volume--);
        if (volume<=0) 
		{
            clearInterval(id);
      		sounds[n].stop()
 
		if (flag == true) {
		flag = false;
		}
		else {
		position=sounds[n].position;		
		}
 
 
        }
	}
    }
Но не срабатывает вообще функция fadeOutSound
Быть может я вообще все не так делаю...


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