Доступ к библиотекам загруженного SWF

В этой статье я расскажу как загрузить и получить доступ к библиотеке (library) загруженного SWF файла, и использовать её элементы как классы. Это может пригодиться когда вы работаете над проектом с несколькими людьми одновременно и один из них делает дизайн в отдельном SWF файле, а вам необходимо получить доступ к его билблиотеке чтобы использовать её элементы. Или вы создаете один SWF файл, как хранилище информации, а потом загружаете его в основной рабочий мувик.

Доступ к библиотеке загруженной SWF`ки можно получить с помощию applicationDomain.

Сейчас я проиллюстрирую как это сделать:

Для начала создадим два SWF файла. В одном, “dataSWF.swf“” из них будет содержаться библиотека с MuvieClip`ом с именем, например, “Data” (не забудте поставить галочку напротив Export for ActionScript в закладке  Properties, также проследите чтобы в колонке Class было написано “Data) . В другом, “mainSWF.swf“,  класс с помощью которого загружается “dataSWF.swf“.

пример кода:
  1. var myLoader:Loader = new Loader();
  2. myLoader.load( new URLRequest ( ”dataSWF.swf) );
  3. myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);//Загрузка завершена

Здесь все понятно, грузим ”dataSWF.swf” и запускаем onLoaded когда он полностью загружен

  1. function onLoaded(event:Event):void
  2.  
  3. {
  4.  
  5. //!!!!!!!!!!!!!!!!ДОСТУП ПОЛУЧАЕМ СДЕСЬ !!!!!!!!!!!!!!!!!!!!//
  6.  
  7. var Data:Class = event.target.applicationDomain.getDefinition(Data) as Class// Получаем доступ к классу Data из библиотеки dataSWF.swf
  8. var myData:MovieClip = new Data() as MovieClip;//создаем мувиклип из Data
  9. addChild( myData);//Добавляем  myData на stage :)
  10. }

Вот вприципе все :)

You can leave a response, or trackback from your own site.
(1 голосов, средний: 5.00 из 5)
Загрузка ... Загрузка ...

2 Responses to “Доступ к библиотекам загруженного SWF”

  1. Pagefile пишет:

    Спасибо тебе за статью. Ломал голову целый день, пока не нашёл у тебя решение.
    Правда есть опечатка на которую ругается компилятор.

    var myData = new Data() as MovieClip;//создаем мувиклип из Data
    Warning: 3596: Duplicate variable definition.

    в 9 строке “var” лишнее))

  2. Merlin пишет:

    Спасибо, исправил.

Leave a Reply

Powered by WordPress | Visit BestInCellPhones.com for Free Verizon Cell Phones | Thanks to iCellPhoneDeals.com, MMORPG Games and Conveyancing