Показать сообщение отдельно
Старый 22.08.2011, 04:44
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
loadMovie() в топку, он не дает никаких событий "после"...

Код AS1/AS2:
//создаем контейнер для загрузки (может быть у вас  уже готовый, тогда не надо):
var cont:MovieClip = _root.createEmptyMovieClip('cont_mc', _root.getNextHighestDepth()); 
var mcl:MovieClipLoader = new MovieClipLoader(); //создаем загрузчик
var lst:Object = new Object(); //создаем слушатель загрузки
lst.onLoadInit = lstInit; //что делать после загрузки, т.е. назначаем обработчик события onLoadInit
mcl.addListener(lst); //теперь добавляем слушатель к загрузчику
mcl.loadClip('rolik.swf', cont); //и наконец стартуем загрузку в контейнер cont
 
function lstInit(tgt:MovieClip) 
{
        //после загрузки назначаем загруженному ролику обработчик onEnterFrame
        //для отслеживания окончания загруженного ролика
	tgt.onEnterFrame = tgtEnterFrame;
}
 
function tgtEnterFrame () 
{          
	if (this._currentframe == this._totalframes) //отслеживаем окончание ролика
	{
		this.stop(); //останавливаем в конце
		delete this.onEnterFrame ; //перестаем следить
	}
}
Все будет замечательно работать, если у вас загружаемый ролик проигрывает свой главный таймлайн, а анимация не находится внутри других его мувиков.

Если оставите loadMovie(), то не сможете отследить окончание загрузки, и назначить какие-либо функции.
Причем локально с этим может что-то и получится, но после заливки на хостинг все перестанет работать.

PS. Ба, а темке-то год. Ну, alfipago, ты некропостер.
__________________
Идите первым!


Последний раз редактировалось mooncar; 22.08.2011 в 04:55.