|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jan 2016
Сообщений: 6
|
Как подключить класс из swf на этапе выполнения?
При загрузке одного swf в другой (лоадер+апликэйшн домейн) его класс не определяется как класс на этапе компиляции. (Type was not found or was not a compile-time constant: Slut)
... ldr = new Loader(); var req:URLRequest = new URLRequest("../bin/Slut.swf"); var appDomainB:ApplicationDomain = ApplicationDomain.currentDomain; var ldrContext:LoaderContext = new LoaderContext(false, appDomainB); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); ldr.load(req, ldrContext); } private function completeHandler(event:Event):void { var Sluts:Class = event.target.applicationDomain.getDefinition("Slut") as Class; var mySlut:Sluts = Sluts(event.target.content); use network services: false, фактически это пример использования метода из загруженного swf из документации adobe... Вопрос: что не так с настройками FlashDevelop? Или нужно что-то прописать в Slut? дополнение: остальные примеры с applicationDomain из документации также не работают (по другому - другие ошибки, но принцип тот же - не видит Slut как класс). Добавлено через 30 часов 56 минут итерационным методом был получен следующий результат: тогда методы из загруженной swf Slut работают. кроме того, в заголовке класса Slut установлено: , но это, наверное, ни при чём, как и use network service. |
|
|||||
[+4 06.05.14]
|
public function addLibrary(loaderinfo:LoaderInfo):void { var info:ApplicationDomain = loaderinfo.applicationDomain; var cls:Class = null; cls = info.getDefinition("HUD3") as Class; hud = new cls() as MovieClip; history = info.getDefinition("HistorySymbol"); cls = info.getDefinition("GameGFX") as Class; back = new cls() as MovieClip;
__________________
Марк Tween |
|
|||||
Посмотрите вот эту тему: http://www.flasher.ru/forum/showthread.php?t=144282
Ну и почитайте про политики безопасности, все дело в них.
__________________
...вселенская грусть |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Sluts
|
|
|||||
я всегда использую getDefinitionByName, попробуй с ним
__________________
if (love is true) break my.heart; |
|
|||||
Регистрация: Jan 2016
Сообщений: 6
|
Проблема была в том, что фд не принимал класс из загруженной свф-ки.
А сейчас он перестал понимать нормальный код и начал выдавать совершенно причудливые ошибки, при каждой попытке компиляции разные. Пришлось его снести. Поэтому текущий вопрос такой: как установить пятый Флешдевелоп в стэндалоне режиме? Не могли бы благородные доны и доньи подсказать толковые гайды и доки по настройке ФДшечки? Спасибо. p.s.:класс слут был назван столь причудливо не только из фривольных соображений, но дабы обеспечить уникальность именования оного. |
|
|||||
Если вопрос, про определение классов кодом, то нужно компилисть внешний проект в swf и swc. Далее подключать swc (Правой кнопкой > Add to library), а затем в настройках выбирать External Library (Правой кнопкой > опции). И грузить swf в текущий ApplicationDomain
__________________
if (love is true) break my.heart; |
|
|||||
Регистрация: Jan 2016
Сообщений: 6
|
Вопрос уже про настройку\переустановку Flashdevelop, потому что он уже находит ошибку в таком коде:
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
__________________
Reality.getBounds(this); |
Часовой пояс GMT +4, время: 02:21. |
|
« Предыдущая тема | Следующая тема » |
|
|