суббота, 5 февраля 2011 г.

Preloader (прелоадер) для игр на AS3.

Preloader (прелоадер) для игр на AS3.:
'Не пустят на банкет, когда прелоадера нет!'



Всем привет!
Это снова я, со своей писаниной! :)

Помнится я обещал написать статейку о прелоадерах, так что этим сегодня и займемся. Наверняка ты, мой милый друг, догадываешься о том, что это за зверь такой - прелоадер, поэтому скажу лишь пару слов о его назначении, для порядка.

Прелоадер предназначен для наглядного представления процесса загрузки флешки. Чтобы пользователь видел, что браузер у него не повис и флешка медленно, но верно закачивается. А ушлые предприниматели еще и рекламу в нем показывают, так что вещь весьма полезная и необходимая.



По моим личным наблюдениям, с прелоадерами часто бывают проблемы, особенно по началу. Надеюсь, эта статейка поможет вам избежать подобных проблем. Приступим...


Разделим прелоадеры на два класса:
  • Внешние
  • Встроенные

Встроенный прелоадер образует единое целое с SWF файлом игры, в то время как внешний прелоадер хранится в отдельном SWF файле или реализован другими средствами.

Внешние прелоадеры я не буду рассматривать (там все не так просто из-за системы безопасности), скажу лишь, что нужно использовать образец класса flash.display.Loader и после того, как внешняя флешка будет загружена, прикрепляете этот образец к stage. Загруженная флешка будет чем-то вроде клипа.

Давайте лучше остановимся на встроенных прелоадерах, они более актуальны для игр.

*** 

Встроенный прелоадер - это класс или алгоритм (если написан внутри кадров FlashIDE) контролирующий процесс загрузки SWF файла и определенным образом показывающий пользователю прогресс в загрузке. 
Но реализацию прелоадера мы не можем рассматривать, пока не разберемся в структуре SWF файла (что собственно грузим, то?).

Давайте одним глазком заглянем под капот SWF файла.
  • Первое, что нам нужно знать - SWF файл состоит из множества тегов (Tags) идущих друг за другом. Каждый тег содержит кусочек данных (описание клипа, код класса, команда плейеру).
  • Второе, что мы должны знать - теги грузятся пачками и разделяют эти пачки контрольные теги ShowFrame.
Структура SWF файла

При инициализации тегов ShowFrame плейер помещает загруженную порцию клипов в рендеринг конвейер и инициализирует загруженные классы (например, класс-документ), а потом ожидает команды на загрузку следующей пачки тегов и обрабатывает события.

Из сказанного выше мы делаем вывод - флешка грузиться поэтапно и в конце каждого этапа мы можем выполнить определенные действия [...]

Комментариев нет:

Отправить комментарий