загружены внешние классы SWF as3 - PullRequest
0 голосов
/ 06 марта 2012

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

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

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

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

1 Ответ

0 голосов
/ 06 марта 2012

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

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

var l : Loader = new Loader;
l.load( new URLRequest("foo.swf"),
        new LoaderContext(false, new ApplicationDomain(ApplicationDomain.currentDomain));
...