PDA

Просмотр полной версии : [A2.0, FAME] загрузка swf + attachMovieClip из него


genius
28.07.2005, 21:34
мне необходимо подгрузить swf-ку с картинками, чтобы использовать их в своем проекте.

я выполняю следующую последовательность:

1. создаю fla
2. создаю в нем несколько мувиклипов, в параметрах Linkage которых указываю Identifier, [x] Export to ActionScript, [x] Export in first frame
3. компилирую
4. загружаю swf-файл в другой (основной)
5. при загрузке выполняю:

var z = scopeRef.attachMovie("state1", "state1", scopeRef.getNextHighestDepth());
TRACE(Flashout.DEBUG + "z=" + z);

6. и получаю z=undefined

что я делаю неправильно? такое в принципе возможно? если нет, то как в таких случаях вы поступаете? простая загрузка мне не подходит, т.к. нужно динамически создавать копии этого мувика. duplicateMovieClip тоже не подходит, т.к. (насколько я понимаю) невозможно перенести мувиклип из одного "родителя" в другой.

спасибо.

john
28.07.2005, 22:35
но вообщето так лучше вообще не поступать :) но если есть необходимость, то здесь нужно использовать связанные библиотеки (shared library)

genius
29.07.2005, 02:00
а где можно почитать подробнее? насколько я понял, для shared library нужно открывать во MX 2004 IDE файл через Import > Open External Library. а что делать тем, кто пользуется только FAME?

или я чего-то непонимаю? :)

john
29.07.2005, 02:59
какая разница Fame или нет, ты же собираешь Swf изначально в MM Ide? вот и подготовь библиоткеку, разнеси разные символы и уже работай в Fame. почитать в хелпе флеша :)
или в лив-доках.

genius
29.07.2005, 11:04
фишка в том, что собираю файл я как раз в FAME :) а MM IDE использую только для перегона графики Illustrator > MM IDE > SWF.

как делают мегафлэшеры в таких случаях? :) появилась идея создать мувиклип в MM IDE, в который поместить всю графику с [x] Export to Actionscript. потом из него подгрузить главный класс, откомпилированный в FAME.

но это всё равно через пень колоду. хочется красивого решения :) 100% pure no-MM.

john
29.07.2005, 23:32
если чистый FLAME style - то лучше просто пересмотреть архитектуру приложения.

мне не нужны shared libraryes, точнее я их стараюсь не использовать. К томуже никогда не было такой ситуации что я не могу реализовать приложение - не имея возможнсоти аттачить элементы одного swf в другой.

стандартная практика такая - есть некий рутовый swf, с набором классов. в него закачиваются некие swf, которые возможно в будующем можно будет подменять. да и вообще делить приложение на части - удобно. каждый отдельный swf реализует свою собсвенную логику, и если нужно чтотото, то получает это от рутового компонента.

аттачить - только врутри самого себя. в другой swf не лезем.

такая схема отлично работает.
потом в финале из подргужаемых swf можно "удалить" общие классы (exclude) и проект собран.