доступ к stage из загружаемой swf
есть Loader он загружает swf из байт кода, в загружаемой swf есть операторы такого план stage.scaleMode = StageScaleMode.NO_SCALE;(судя по декомпилици flash builder'a), на этих операторах возникает ошибка,
что надо прописать чтоб таких ошибок не возникало? читал про политику безопасности не нашел ответ. как я понял надо ковырять Security.ApplicationDomain Помогите пожалуйста. |
ну по идее писать надо в самой флешке хендлер с проверкой на наличие дисплей листа. а так...
Код AS3:
|
Загружаемую swf не могу менять, они могут быть разные.
По архитектуре флеша stage в загружаемой флешки будет равен stage флешки которая грузит, просто надо открыть доступ. загружаемые флешки на 100% без ошибок. так я загружаю Код AS3:
Оказалась что к stage нельзя получить доступ [Frame(factoryClass="MyClass")] из MyClass -странно. |
Расскажу я вам страшную историю. Это невозможно. Я очень детально исследовал эту проблему. Stage будет доступен в подгружаемой флешке но после того как отработают конструкторы документ класса и классов, объекты которых лежат на первом фрейме. Если в коде конструктора любого из них имеется обращение к stage то подгрузить такую флешку невозможно, т.к. на этапе вызова конструктора stage не определён. Когда же мы запускаем эту флешку отдельно то флешплеер магическим образом делает stage доступным в конструкторе. Это костыль но с этим поделать практически ничего не возможно, разве что а байткоде переписывать код конструктора. Погуляйте по ссылкам: http://www.flasher.ru/forum/showthread.php?t=141350 http://groups.google.com/group/rufla...d1ff4167?pli=1
|
Цитата:
Цитата:
|
Может криво выразился, но примерно это и хотел сказать. Да стейдж доступен но не в конструкторах.
Касательно решения Valyard, я с ним разговаривал и его исходники изучал. Вопервых оно сервер-сайд, во вторых если сделать наследование и документ-классом будет наследник, который вызывает конструктор предка явно и с параметрами это решение не работает. Далее если на первом кадре таймлинии лежат объекты и в их конструкторах тоже идёт обращение к stage то это тоже не будет работать. Что интересно когда флешка пробегает всю таймлинию и начинается с начала то там уже стейдж доступен. Адекватных и везде работающих решений пока нет. Добавлено через 6 минут Да, естественно если флешка не добавлена на сцену то доступк к стейдру крашится, это по дефолту. Я имею ввиду что если её добавлять на сцену сразу при загрузке, то там только вопрос работы конструкторов. Добавлено через 38 минут ещё багу в решении Valyard вспомнил. Если в конструкторе написано Код AS3:
|
Часовой пояс GMT +4, время: 10:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.