Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Преоладер для gif (http://www.flasher.ru/forum/showthread.php?t=145178)

Alexandr Kiss 01.10.2010 00:46

Преоладер для gif
 
Здравствуйте. Волнует часто встречаемая проблема (как я понял лазив 2 дня по сайтам в поисках ответа) - есть банер в гиф, но он занимает больше места, чем разрешает сайт (150Кб, сайт разрешает только 35Кб). Уменьшить размер можно только посредством уменьшения качества картинки, что исключено (реклама должна быть качественной - как по мне). Немного знаком с флеш и AS3 (уровень: ниже начинающего, но с основами знаком) - знаю, что можно организовать SWF, который не будет содержать саму картинку, а будет ссылатся на нее (благодаря чему, картинка сохранит прежнее качество, а сайт приймет флешку занимающая 15Кб). Сначала искал возможность организвовать это через AS3 и xml (на форумах все дают ответ типа: используй такой то класс или что то типа того, что мне не о многом говорит), но случайно нашел решение на одном сайте с использованием AS2 и без подключения xml (флешка напрямую ссылается на картинку), но проблема в том, что пример годится только для jpg картинок.
Вот пример найденый мной:
Код AS1/AS2:

// Создаём прелоадер
F_preloader = function (mc) {
        _root.createEmptyMovieClip("detect_mc", 10000);
        // Создаём мувик для отслеживания загрузки
        _root.createTextField("tf_txt", 11111, 10, 10, 150, 20);
        // Создаём текстовое поле для последующего вывода результатов загрузки:
        detect_mc.onEnterFrame = function() {
                var gbl = _root[mc].getBytesLoaded();
                var gbt = _root[mc].getBytesTotal();
                if (gbl == gbt && gbl>50) {
                        // Если всё загрузилось
                        tf_txt.text = "100%";
                        removeMovieClip(this);
                        // Удаляем наш мувик detect_mc за ненадобностью
                } else {
                        // Если не загрузилось, то отображаем процент загрузки
                        tf_txt.text = int(gbl/gbt*100)+"%";
                }
        };
};
// Создаём пустой мувик-контейнер для подгрузки
_root.createEmptyMovieClip("container_mc", 1);
container_mc.loadMovie("test_image.jpg");
// Запускаем функцию прелоадера и передаём ей мувик, в который грузим
F_preloader("container_mc");

Прошу помочь переделать этот пример под gif или же обьяснить как сделать по другому.

samana 01.10.2010 01:19

Так вроде gif грузится без проблем. Вот например такой код:
Код AS1/AS2:

_root.createEmptyMovieClip("holder",_root.getNextHighestDepth())
var mcl:MovieClipLoader=new MovieClipLoader();
mcl.addListener(_root)
mcl.loadClip("http://2.bp.blogspot.com/_vs40m2QbmO8/RdaB3rf_8sI/AAAAAAAAA9E/DIidifHzuwQ/s1600/flash.gif",holder

swf занимает 8 килобайт. Или вы хотите загрузить анимированный gif?

Alexandr Kiss 01.10.2010 01:37

Цитата:

Или вы хотите загрузить анимированный gif?
анимированый...в этом вся проблема

samana 01.10.2010 13:38

Так если вы хотите загружать содержимое, то может стоит загружать не гиф, а swf. Сделайте из гифа swf, и загрузите в баннер.

Alexandr Kiss 01.10.2010 22:57

делал из гифа свф, но тогда банер весит 500Кб, а сайт разрешает только 35...


Часовой пояс GMT +4, время: 09:27.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.