Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   доступ к слоям подгружаемого swf-файла (http://www.flasher.ru/forum/showthread.php?t=139661)

tanyakora 07.05.2010 13:30

доступ к слоям подгружаемого swf-файла
 
Подскажите, пожалуйста, есть какой-нибудь способ в подгружаемый с сервера swf-файл добавлять картинки на определенный слой.

BlooDHounD 07.05.2010 13:46

в swf файлах слоёв не существует.

tanyakora 07.05.2010 13:53

Т.е. если у меня клип состоит из 10 слоев, после компиляции они совмещаются в один? Обидно... получается, что остается только грузить 10 разных флешек...

alekslitvinenk 07.05.2010 14:00

Есть такое понятие как глубина(или z index), узнать глубину нужного клипа можно с помощью метода getChildIndex(<нужный клип>) у родительского контейнера.

proxiServer 07.05.2010 14:02

А создать несколько спрайтов и назвать layer1,layer2...
Добавлять на эти спрайты. Те же слои по сути. Не подходит?

tanyakora 07.05.2010 14:18

Я пока что на этапе простого добавления картинки в подгруженную swf застряла :( У Loader нет события addChild, Loader.content тоже addChild не поддерживает, если пишу (Loader.content as MovieClip).addChild - пишет, что невозможно работать с объектом null.

proxiServer 07.05.2010 14:38

Ну надо поглядеть как вы загружаете. Много примеров в гугле и на форуме. Искали?

tanyakora 07.05.2010 14:53

Код AS3:

var context:LoaderContext = new LoaderContext();
if (Security.sandboxType!='localTrusted'){
        context.securityDomain = SecurityDomain.currentDomain;
}
context.applicationDomain = ApplicationDomain.currentDomain;
loader1 = new Loader();
var str='hunt/window.swf';
url1=new URLRequest(str);
loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
addChild(loader1);
//создаем событие load для loader
loader1.load(url1, context);

И не могу сообразить, как после загрузки работать с содержимым loader1.

proxiServer 07.05.2010 15:07

Ну, а код onLoaded() где?)
Код AS3:

 
loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
addChild(loader1);//вот это рано
//создаем событие load для loader
loader1.load(url1, context);

Вы вот в этих строчках вешаете слушатель и запускаете загрузку, которая пойдет фоном. Когда загрузится файл, тогда произойдет вызов функции onLoaded. Вот там и нужно "забирать" картинку.

Должно быть что-то вроде:
Код AS3:

internal function onLoaded (e:Event):void{
addChild(loader1)
}


tanyakora 07.05.2010 15:18

Только вот в каком виде мне забирать картинку - mc.addChild(e.target.content) или mc=e.target.content as MovieClip? И если есть еще один mc1=new MovieClip(), который надо загрузить в подгруженную swf-ку (на определенную глубину (слой)), как быть?


Часовой пояс GMT +4, время: 21:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.