Показать сообщение отдельно
Старый 12.01.2013, 14:32
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 6  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
Есть много способов.
Способ 1:
Редактируем загружаемый мувик. У тебя, помню, он telo.fla назывался. Теперь назначаем всему ролику класс, скажем Telo, но файл класса создавать не надо, только имя дать. Теперь ролик-загрузчкик может его легко клонировать:

Код AS3:
			function onLoaded(e:Event){
				addChild(spTelo); //spTelo:Loader
				spTelo.x=275;
				spTelo.y=274;
				MovieClip(spTelo.content).gotoAndStop(1);
				var c:Class = Object(spTelo.content).constructor;
				var copy:MovieClip = new c ();
				addChild (copy);
				copy.x = copy.y = 100;
				copy.gotoAndStop (2);
			}
способ 2. Используем loader.contentLoaderInfo.bytes.
Код AS3:
			function onLoaded(e:Event){
				addChild(spTelo); //spTelo::Loader
				spTelo.x=275;
				spTelo.y=274;
				MovieClip(spTelo.content).gotoAndStop(1);
				var ba:ByteArray = ByteArray(spTelo.contentLoaderInfo.bytes);
				var copyLoader:Loader = new Loader();
				copyLoader.loadBytes(ba);
				addChild (copyLoader);
				copyLoader.x = 100; copyLoader.y = 100;
				//MovieClip(copyLoader.content).gotoAndStop(2); //так не сработает, мувик грузится в loader не мгновенно, его там еще нет
				copyLoader.contentLoaderInfo.addEventListener (Event.COMPLETE, copyLoadedHr);
			}
 
			function copyLoadedHr (e:Event):void {
				var info:LoaderInfo = e.target as LoaderInfo;
				var copyLoader:Loader = info.loader;
				info.removeEventListener (Event.COMPLETE, copyLoadedHr);
				MovieClip(copyLoader.content).gotoAndStop(2);
			}
Способ 3. А вообще говоря, ты можешь просто еще раз загрузить ролик по тому же самому адресу. Он гарантированно будет находиться в кэше и откроется мгновенно.
__________________
мой пустой блог


Последний раз редактировалось iflamberg; 12.01.2013 в 14:58.