![]() |
Правильно ли я сделал прелоадер
Есть приложение в нём несколько классов включая класс preloader и startApp(запустить приложение)
в классе preloader добавляю слушатели Код AS3:
Код AS3:
|
Нет.
что такое startApp(); ? Из Вашего текста явствует, что класс? Класс это не действие, класс это существительное. А здесь я вижу вызов какой-то функции. |
ну и как же быть ? делать прелоадер в отдельном swf или можно всё в одном swf уместить и прелоадер и само приложение ?
|
Конечно можно. На FlashDevelop переходить не собираетесь? Там есть шаблон проекта с прелоадером. Если поискать, на этом форуме его не раз выкладывали и обсуждали.
|
так он родимый и есть)
|
Цитата:
|
Код AS3:
Код AS3:
|
Каких Вы хотите ответов, если не отвечаете на вопросы? Я спросил Вас, что такое startApp()? Вместо ответа Вы добавили загадок - теперь у Вас есть parentInstance.startApp(); Причем что такое parentInstance, знаете только Вы, ибо такой переменной в коде класса нет. Как ответить Вам, чем Ваш код отличается от шаблона ФД? Методом дедукции (исключения) я могу заключить, что "отцовскийЭкземпляр" как-то связан с главным классом самого приложения (потому как больше этому классу в вашем коде прятаться негде). Поскольку переменной нет, видимо это класс, хоть и написан с маленькой буквы. В импорте он отсутствует, видимо по причине того что лежит в той же директории/находится в том же пакете. Если я прав, то отличие именно в этом. В прелоадере от ФД главный класс НИКАК не импортируется в класс прелоадера. Потому что в этом случае он притянет за собой ВЕСЬ остальной код и соотв. все используемые в swf-файле ресурсы. И прелоадер не будет добавлен на сцену, пока не загрузится ВСЯ флэшка. А после этого, как ВЫ понимаете, прелоадер никому уже не нужен. Должен прогрузиться первый кадр с прелоадером, все что нужно для показа этого кадра. Когда кадр прогрузится, плеер отобразит его и начнет грузить второй кадр, в котором как раз и находятся все классы и ресурсы приложения. В это время прелоадер уже "на сцене" и показывает прогресс загрузки. Видите разницу? Два кадра и разделение ресурсов по кадрам – вот чего нет у Вас, чтобы прелоадер стал ПРЕлоадером.
|
startApp(запустить приложение). добавляет на сцену фон приложения ну и т.д.
а насчёт структуры 1. Есть главный экземпляр класса который создаёт 2 экземпляра классов (preloader и app) первый это прелоадер, а второй экземпляр приложения. и когда в прелоадере e.bytesLoaded == e.bytesTotal я через главный класс добавляю экземпляр класса app |
Ага, вся флэшка в одном кадре явно.
Смотрите, как работает встроенный предзагрузчик: Если у главного таймлайна более одного кадра, то плеер, когда загрузит первый кадр, начинает выполнять то, что в нём есть. Потому этот кадр используют для предзагрузчика. Который не покажется, пока не загрузится всё, что есть в первом кадре. Который ждёт, пока не загрузится всё и показывает всякое. Чтобы было более одного кадра "AS3 Project with Preloader" использует метатег [Frame] в классе MainClass. И чтобы в первом кадре не было этого MainClass, фона приложения и т.д. - используют getDefinitionByName. Потому что как только в каком-то кадре будет упомянуто имя класса не как строка (в getDefinitionByName) - то этот класс будет вкомпилен в этот кадр. Также будут вкомпилены все классы, которые упоминаются в этом классе не как строка и классы, которые упоминаются в тех классах итд. |
| Часовой пояс GMT +4, время: 01:34. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.