Флеш-банер более 2 мегабайт!!
Интересный народ — заказчики. Порой стремление к оригинальности при полном незнании технологии приводит к состоянию ступора, но только в начале. Потом начинает работать мысль. Как в анекдоте: Штирлиц подумал, ему понравилось и он подумл еще раз. Но это я так по стариковски ворчу. На самом деле нетривиальный подход, пожалуй, самое интересное в профессии web-мастера.
Итак задание, которое мне досталось звучало так: изготовить flash-банер размерами 660х330 пиксеей, общей продолжительностью около 1,5 минут по разделам сайта.
Причем банер насыщен битмаповскими картинками. Банер весом более
мегаайта — это что-то. Доказать ошибочность такого решения я не смог
(это мое слабое место) пришлось включать мозги.
При освоении flash — технологии обнаружил большое количество
прелоадеров. Это такой прибамбас, что развлекает юзера призагрузке
длинного SWF-файла. Решение пришло сразу. Делим ролики по темам и
создаем короткие ролики по 12 секунд. А затем склеиваем их
прелоадерами. И хотя банеры получились примерно по 80-100 кило (много,
но уже реально) загрузка следующего фрагмента происходит после
окончания проигрывания предыдущего. Таким образом трафик растягивается
во ремени. Юзабилити улучшается.
Вот код: вставленный в последний кадр фрагмента:
stop(); this.createEmptyMovieClip(‘_mc’, 0); _mc.loadMovie(‘next_02.swf‘); # Красным выделено имя следующего swf- клипа this.onEnterFrame = function() { var l = _mc.getBytesLoaded(), t = _mc.getBytesTotal(); progressBar.gotoAndStop(Math.floor(100*l/t)); progressBar.text=Math.floor(100*l/t)+’ %’ if (_mc._width) { progressBar._visible = 0; delete this.onEnterFrame; } }; |
Проигрывание роликов происходит в последовательности заданной выделенной строкой Action Script.
А вот и сам банер .
PS Очень давно было. За актуальность не поручусь.))