![]() |
Проблема с созданием внутреннего прелоадера во Flash Builder 4.7
Добрый день. С этой проблемой уже намучался пару дней, но нормального решения проблемы так и не нашел. До того как спрашивать, прочитал множество постов связанных с этой темой и на этом форуме тоже, но не помогло. В чем суть, т.к. флексовый мета-тег [Frame(factoryClass)] во Flash Builder 4.7 уже не поддерживается, выходит ошибка 1065 Variable Main is not defined, я использовал в данном случае ключ компилятора -frame two Main - где Main имя документ-класса. Так вот в кач-ве примера работы прелоадера взял игру написанную с использованием движка flixel. В кач-ве документ-класса сделал класс игры Mode.as. Протестировал работу прелоадера вначале в Adobe Flash CS4 в опции View - Simulate Download, так вот полосы загрузки я не увидел, вначале появился белый экран, а затем саму игра. Далее попробовал сделать класс Preloader.as документ-классом, и это тоже не решило проблему. Затем использовал в denwer вместе с Charles HTTP Debug Proxy в нем есть опция throttling c заданием пропускной способности. В этом случае тоже не увидел полосу загрузки. По этому поводу я записал видео, в котором показывается, как я тестировал работу прелоадера в Flash IDE. Вообщем народ не могли вы подробным образом описать в чем может быть проблема и как её решить.
|
Мета тэги не зависят от среды исполнения, они вшиты во флекс СДК, в компилятор.
Простой прелоадер можно сделать так (на примере измененного темплейта FlashDevelop) Мейн класс (точка входа в программу, обычно обозначается отличным от других классов значком): Код AS3:
Код AS3:
|
Вложений: 1
Цитата:
KumoKairo, не помогло. До того как спрашивать я пробовал этот стандартный FD прелоадер. Кто-нибудь вообще здесь может дать нормальный работающий пример с прелоадером вместе с прогресс-баром на чистом AS3.0 без Flash IDE. Исходник прикреплен к сообщению вариант описанный KumoKairo с дополненным кодом прогресс бара. |
Вложений: 1
Специально скачал флешбилдер посмотреть что там и как - оказалось все просто, логика правда немного другая
Вместо добавления кадра - прелоадера на Sprite - мейн класс, мы делаем сам мейн класс прелоадером - MovieClip, в который вставляем кадр с реальной точкой входа нашего приложения. После загрузки всего остального содержимого просто переходим на другой кадр, получив дефинишн по имени класса, предварительно добавив его в качестве аргумента компилятора: Цитата:
Обращу внимание на то, что пустой проект грузится моментально, поэтому прогресс бара видно не будет. Чтобы увидеть прогресс бар, можно добавить большой файл на второй кадр и залить на хостинг. Работоспособность подтверждает трейс процесса загрузки. Все работает Главное правило с прелоадерами - ни в коем случае не импортировать ненужные классы, иначе первый кадр потянет за собой все ресурсы приложения, что полностью убьет смысл прелоадера |
Вложений: 1
KumoKairo, большое спасибо за помощь. Действительно прелоадер работает. Моей ошибкой было то, что я делал документ-классом не класс прелоадера. Только вот не мог ты посмотреть на этот прелоадер и сказать в чем может быть проблема. Т.е.
Я делаю класс Preloader документ-классом. В настройках проекта пишу -frame two Mode, но вот линии загрузки не вижу. Код AS3:
Код AS3:
|
Слишком быстро грузится проект, условие
Код AS3:
Вот закинул ту же демку на удаленный сервак (добавил в СВФ аудио файл размером 10 мб), прелоадер работает как положено После первой загрузки флешка кешируется и сценка с прелоадером быстро проскакивает |
Цитата:
|
Не тестируйте через флеш иде)
Сделайте фиктивную функцию загрузки для отладки. Которая, скажем, раз в 100 мс будет выкидывать "событие" загрузки очередных 15% приложения. На деле приложение, конечно, давно будет загружено, но обработчку onProgress (или onEnterFrame как в случае с Фликселем) совершенно все равно откуда брать данные для отображения. |
| Часовой пояс GMT +4, время: 11:34. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.