Форум 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)
-   -   Прелоадер Галереи (http://www.flasher.ru/forum/showthread.php?t=91093)

Werewolfe 24.01.2007 17:33

Прелоадер Галереи
 
Сделал галерею, и для каждой фотографии прелоадер, но когда открываеш страницу, прелоадеры показывают общую загрузку, а надо каждой отдельно и при нажатии на маленькое фото чтобы загружалось большое что я пишу не так?

KLieriK 24.01.2007 17:48

вопрос актуален.
так же интересует полностью програмный прелоадер для превьюшек.
все свойства превью, в моем случае, передаються через object, а именно:
Код:

...
initObj.onEnterFrame = pldrConstructor;
                this.attachMovie("gallery_thumbMC", "tn"+i, this.getNextHighestDepth(), initObj);

function pldrConstructor():Void{
        this.createEmptyMovieClip('ploader', this.getNextHighestDepth());
        var bt:Number = this.getBytesTotal();
        var bl:Number = this.getBytesLoaded();
        if(bl < bt){
                this.ploader.lineStyle(3, 0xFFFFFF, 100);
                this.ploader.moveto(5, 5);
                this.ploader.lineto(Math.round(5+30*bl/bt),5);
                this.ploader.endFill();
        }else ploader.removeMovieClip();
}

у меня не работает :(

JudgeFog 24.01.2007 18:25

Код:

this.createEmptyMovieClip('ploader',
Все с одинаковыми именами?

KLieriK 24.01.2007 18:40

JudgeFog? ну так какая разница?
в каждом последующем 'tn'+i идет ploader
то есть 'tn'+i.ploader
в каждом из них свой.

Werewolfe 24.01.2007 19:42

Я извиняюсь, а что мне написать, чтобы заработало корректно?

KLieriK 24.01.2007 20:39

ну у меня пока что заработало так:
парсинг с xml и создание превьюшек?
Код:

var i:Number = 0;
        for (var aNode:XMLNode = xmlData.firstChild.firstChild; aNode != null; aNode = aNode.nextSibling) {
                //trace(aNode);
                var obj:Object = new Object();//тут храню всю информацию мувике
                obj.thumb = aNode.attributes.thumb;
                obj.img = aNode.attributes.img;
                obj.onEnterFrame = ldr;
                obj.createEmptyMovieClip = createEmptyMovieClip("ploader", this.getNextHighestDepth());
                obj._x = 100 * i + (5 * i);
                obj._y = 10;
                obj.onPress = onP;
                this.attachMovie("mcCont", "k"+i, this.getNextHighestDepth(), obj);
                eval('k'+i).cont.loadMovie(aNode.attributes.thumb);//етим подгружаю в каждый мувик соотв. рисунок
                ++i;
        }

далее сам прелоадер:
Код:

function ldr():Void{
        var t:Number = this.cont.getBytesTotal();
        var l:Number = this.cont.getBytesLoaded();
        var label:TextField = this.createTextField("label", 1, 10, 10, 100, 20);
        label.text = Math.floor(l / t * 100).toString();

        //trace(Math.floor(l / t * 100));
}

щас вот ето показывает в % соотношении.
но вот дело в том что ето все через onEnterFrame, и оно выполняеться постоянно. если б мона было как-то его после 100% удалить чтоб оно не вызывалось... тогда было б круто!
или какие есть альтернативы??!

Werewolfe 25.01.2007 18:10

А как этот вариант заставить работать с прелоадером, т.е. каждая картинка после нажатия кнопки сначала показывал процент загрузки, следом уже картинку, а то в сети после нажатия 28 сек пустой экран, потом картинка, использую MovieClipLoader.onLoadProgress(в исходнике нет) всё равно, в клипе вообще нет изменений


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

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