| « Data Binding во Flex: ActionScript Project | Жизнь после Flash CS3 » |
Flex: свой прелоадер
Отличная статья про прелоадеры для ActionScript Project-ов.
Стандартный способ делать прелоадер мало подходит в случае, когда надо загрузить не только приложение, но и данные к нему. Хорошо бы сделать этот процесс прозрачным для юзера, обычно он не хочет видеть, что Вы в данный момент загуржаете или инициализируете.
Если Вы хотите сделать умный прелоадер для Flex-project’а, то нужно завести класс, наследующий от Sprite и IPreloaderDisplay. Вот рабочий код, раньше тут висело нерабочее решение.
Трекбек адрес этой записи
URL трекбека (щелкните правой кнопкой мыши и скопируйте ссылку)
3 комментариев
У меня есть мнение, что проще разбить прелоадер и flex приложение на два разных swf - loader.swf и app.swf. Прелоадер сделать через AS3 project, в котором происходит вся инициализация данных и пр. Если по каким-то причинам инициализацию flex app нужно делать через flex, от сделать внешний интерфейс, через который loader.swf сможет взаимодействовать с app.swf. К публичным свойствам нашего flex app можно достучаться например так:
Тут загружаем flex app
var request:URLRequest = new URLRequest("main.swf");
var loader:Loader = new Loader();
loader.load(request);
addChild(loader);
Отслеживаем загрузку и инициализацию, после чего можно стучаться.
loader["content"].application["width"]
Так как AS3 project врядли знает о существовании классов flex фреймворка, то пришлось пользовать, такой способ обращения к свойствам.
Тут загружаем flex app
var request:URLRequest = new URLRequest("main.swf");
var loader:Loader = new Loader();
loader.load(request);
addChild(loader);
Отслеживаем загрузку и инициализацию, после чего можно стучаться.
loader["content"].application["width"]
Так как AS3 project врядли знает о существовании классов flex фреймворка, то пришлось пользовать, такой способ обращения к свойствам.
2007-10-29 @ 13:36
Да, это тоже адекватный способ.
2007-10-29 @ 14:34
Полезная ссылка и хорошая статься, спасибо.
2007-10-29 @ 16:12




