Блог от AS3Coder'a о JavaScript, HTML, CSS... и немного о Flash.

среда, 4 ноября 2009 г.

Как добраться до классов внутри загруженной флешки?

Работая над расширяемостью своего проекта, пришел к выводу, что придется подгружать данные только в момент, когда это необходимо. Возник вопрос:

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

Оказалось, что можно. При помощи метода applicationDomain.getDefinition() можно получить ссылку на класс внутри content.loaderInfo у экземпляра типа flash.display.Loader.

Для примера, я создал файл library.swf с зажитым в него классом Circle.



На событие Event.COMPLETE о полной загрузке library.swf в loader, вызывем следующую функцию:



Получим результат:




source.zip (5 Кб)
 

2 комментария:

  1. Не понятно, зачем "На всякий случай указываем указываем, что это наследник класса "DisplayObject"? В любом случае получишь ошибку если это не DisplayObject.

    ОтветитьУдалить
  2. Добрый день.
    Когда использовал только flash IDE я помещал клип в библиотеку, например HeavyTank и писал соответствующий клипу класс HeavyTank, где размещалась вся нужная мне функциональность.
    Попробовал пользоваться связкой FlashDevelop + Flash IDE (для рисования). После того как я упаковал графику в swc библиотеку встает вопрос о том как в FD к данному клипу дописать нужную мне функциональность?

    ОтветитьУдалить

Можно использовать некоторые HTML-теги, например <b>, <i>, <a>

Поиск по блогу

Обо мне



Farid Shamsutdinov (AS3Coder)
Russia, Tatarstan, Kazan
as3coder@gmail.com

Подробнее...

Постоянные читатели

© 2014 Farid Shamsutdinov. При копировании материалов, ссылка на источник обязательна. Технологии Blogger.