2012-03-05 3 views
0

У меня есть внешний swf (ext.swf), который загружается в мой проект FlashDevelop as3.as3 загружены внешние классы swf

Когда я делаю чек (objectsList[0] is Class1), я получаю ложную информацию, хотя Элемент objectsList[0] является Class1. Class1 находится в ext.swf

Но когда я пишу команду как (objectListInExternalSwf[0] является Class1) во внешнем швейцарских франков, а затем использовать этот файл SWF в моем проекте и сделать чек (objectsList[0] это Class1) я правда.

Мой вопрос: должен ли я использовать все классы в моем внешнем swf, чтобы компилятор должен был помещать их в swf, чтобы их можно было использовать в других проектах, где swf загружается как внешний?

+1

Вы можете разместить код? Что такое objectList []? Как это сформировалось? Где код, где он создан? Очень сложно выполнить вашу конкретную реализацию и просто угадать, как вы это сделали, чтобы придумать решение. Добро пожаловать в stackoverflow btw. –

ответ

0

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

Чтобы один и то же определение класса, вы должны быть в том же ApplicationDomain (или наследовать от того же):

var l : Loader = new Loader; 
l.load(new URLRequest("foo.swf"), 
     new LoaderContext(false, new ApplicationDomain(ApplicationDomain.currentDomain)); 
Смежные вопросы