'Не пустят на банкет, когда прелоадера нет!'
Всем привет!
Это снова я, со своей писаниной! :)
Это снова я, со своей писаниной! :)
Помнится я обещал написать статейку о прелоадерах, так что этим сегодня и займемся. Наверняка ты, мой милый друг, догадываешься о том, что это за зверь такой - прелоадер, поэтому скажу лишь пару слов о его назначении, для порядка.
Прелоадер предназначен для наглядного представления процесса загрузки флешки. Чтобы пользователь видел, что браузер у него не повис и флешка медленно, но верно закачивается. А ушлые предприниматели еще и рекламу в нем показывают, так что вещь весьма полезная и необходимая.
По моим личным наблюдениям, с прелоадерами часто бывают проблемы, особенно по началу. Надеюсь, эта статейка поможет вам избежать подобных проблем. Приступим...
Разделим прелоадеры на два класса:
- Внешние
- Встроенные
Встроенный прелоадер образует единое целое с SWF файлом игры, в то время как внешний прелоадер хранится в отдельном SWF файле или реализован другими средствами.
Внешние прелоадеры я не буду рассматривать (там все не так просто из-за системы безопасности), скажу лишь, что нужно использовать образец класса flash.display.Loader и после того, как внешняя флешка будет загружена, прикрепляете этот образец к stage. Загруженная флешка будет чем-то вроде клипа.
Давайте лучше остановимся на встроенных прелоадерах, они более актуальны для игр.
***
Встроенный прелоадер - это класс или алгоритм (если написан внутри кадров FlashIDE) контролирующий процесс загрузки SWF файла и определенным образом показывающий пользователю прогресс в загрузке.
Но реализацию прелоадера мы не можем рассматривать, пока не разберемся в структуре SWF файла (что собственно грузим, то?).
Давайте одним глазком заглянем под капот SWF файла.
- Первое, что нам нужно знать - SWF файл состоит из множества тегов (Tags) идущих друг за другом. Каждый тег содержит кусочек данных (описание клипа, код класса, команда плейеру).
- Второе, что мы должны знать - теги грузятся пачками и разделяют эти пачки контрольные теги ShowFrame.
При инициализации тегов ShowFrame плейер помещает загруженную порцию клипов в рендеринг конвейер и инициализирует загруженные классы (например, класс-документ), а потом ожидает команды на загрузку следующей пачки тегов и обрабатывает события.
Из сказанного выше мы делаем вывод - флешка грузиться поэтапно и в конце каждого этапа мы можем выполнить определенные действия [...]
Комментариев нет:
Отправить комментарий