39. [junior] Loader Part1. Загрузка внешних ресурсов

junior – серия статей для начинающих ActionScript-разработчиков.
Все статьи серии:
http://flashpress.ru/blog/category/junior/
Серия статей на тему Загрузка ресурсов во флешку:
  1. Loader Part1. Загрузка внешних ресурсов
  2. Loader Part2. Загрузка картинок и флешек (скоро)
  3. Loader Part3. Библиотекка FPResourceManager (скоро)

Как вам известно flash – это веб приложение, а это значит что приложение должно уметь что то загружать по сети. В этой серии статей мы поговорим о том как можно загружать различный контент во флешку и как бороться с кешом браузера.

Загружать флешка умеет следующие ресурсы:

  • Текст (txt, xml, json, …)
  • AMF-массив
  • Картинки (jpeg, png, gif)
  • Другие флешки (swf)
  • Видео
  • Звук

Если у вас возник вопрос: а как же загружаемые шрифты? Спешу вас обрадовать, шрифты загружать можно, но для этого их надо запаковать во флешку, как это сделать читайте в статье. Для обзора работы с потоковым видео и аудио, у нас будут отдельные серии статей. Оставшиеся 4 типа ресурсов можно разделить на две части:

  • Не визуальные (текст, AMF)
  • Визуальные (картинки, флешки)

В этой части серии мы подробно разберем загрузку не визуального типа контента. Загрузку картинок и видео разберем в следующей статье из этой серии.

Загрузка текста

FlashBuilderFlashIDE
Код для редактора Adobe FlashBuilder
Код для редактора Adobe Flash CS Professional
Не забывайте слушать события об ошибках загрузки IO_ERROR, SECURITY_ERROR. Читайте статью посвященную отлову ошибок во Flash приложении

Загрузка AMF-массива

Если вам необходимо загрузить AMF массив, надо загрузчику в свойстве dataFormat передать значение URLLoaderDataFormat.BINARY (обратите внимание на строки 4,6,11 и 29):

FlashBuilderFlashIDE
Код для редактора Adobe FlashBuilder
Код для редактора Adobe Flash CS Professional

Антикеш

Если ваше приложение должно периодически опрашивать сервер и получать новый обновленный XML файл, то скорее всего после первой попытки ваш браузера закеширует ваш запрос. В итоге вы будете каждый раз получать один и тот же файл. Что бы избежать этого добавить в конец вашей ссылки любой GET-параметр с уникальным значением:

Если вы будете добавлять в конец ссылки просто числа начиная с 1 увеличивая после каждого запроса, то вы увидите что все хорошо. Но как только вы обновите страницу браузера, и флешка опять начнет индексацию антикеша с 1, браузер будет отдавать уже закешированные ответы. Что бы этого избежать можно в конец ссылки добавлять например случайное число Math.random:

или текущую дату:

Да прeбудет с вами Flash.
Serious Sam

Эту статью прочитали 1732 раз

Возникли вопросы по статье? Не стесняйтесь спрашивать в комментариях или любым другим способом на странице Контакты .

Присоединяйтесь к нам в социальных сетях: ВКонтакте , Twitter и Facebook
Понравилась статья? Буду благодарен если вы поделитесь ссылкой с друзьями:


Комментарии ВКонтакте:




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




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


  1. Уведомление: ApplicationDomain | FlashPress.ru

  2. andrey

    возможно обращаюсь не по адресу, но столкнулся с такой проблемой.
    разрабатываю на движке starling. использую строенный assetManager для загрузки asset-ов по сети (графика, музыка и тп). когда отлаживаю все норм. air версия работает. веб версия от локалхоста в хроме работает. когда заливаю на вконтакт ресурсы не загружаются. с чем это может быть связано?