Avatar billede slammer12 Nybegynder
12. august 2003 - 21:21 Der er 4 kommentarer og
1 løsning

preloader til slideshow

Jeg har før rodet med dette emne, se http://www.eksperten.dk/spm/384072

Scriptet nedenfor (tak til Pyroman) loader X antal billeder. Disse billeder kører derefter i et slideshow med "overblænding".
Jeg vil imidlertid gerne have at alle billeder bliver loaded inden slideshowet går igang. Altså en preloader, gerne med en procentangivelse.
Men jeg er kørt fast....:-(
Er der nogen der har et bud på dette?

///Boe

--------------------------------------------------------------
antalpics = 30;
waiting = false;
currentAlpha = 100;
nextAlpha = 0;
interval = 2;
currentPic = 0;
//kan ændres til 1
step = 4;
//-------------------
for (i=1; i<=antalpics; i++) {
    _root.attachMovie("pic", "pic"+i, i);
    _root["pic"+i].loadMovie(../i+".jpg");
    _root["pic"+i]._alpha = 0;
    _root["pic"+i]._x = 0;
    _root["pic"+i]._x = 0;
}
//pic1._alpha = 100;
_root.onEnterFrame = function() {
    if (currentAlpha>=100) {
        if (!waiting) {
            startTime = Math.round(getTimer()/1000);
            waiting = true;
        } else if (waiting && Math.round(getTimer()/1000)>=startTime+interval) {
            waiting = false;
            currentAlpha -= step;
            nextAlpha += step;
        }
    } else if (currentAlpha<=0) {
        currentPic++;
        if (currentPic>antalpics) {
            currentPic = 1;
        }
        currentAlpha = 100;
        nextAlpha = 0;
    } else {
        currentAlpha -= step;
        nextAlpha += step;
    }
    if (currentPic == antalpics) {
        _root["pic"+currentpic]._alpha = currentAlpha;
        _root.pic1._alpha = nextAlpha;
    } else {
        _root["pic"+currentPic]._alpha = currentAlpha;
        _root["pic"+(currentPic+1)]._alpha = nextAlpha;
    }
};
Avatar billede pyroman Nybegynder
15. august 2003 - 22:07 #1
Det var så lidt...

Dette kunne gå hen og virke:

picsLoaded = false;
antalpics = 7;
waiting = false;
currentAlpha = 100;
nextAlpha = 0;
interval = 2;
currentPic = 0;
step = 4;
//kan ændres til 1
//pic1._alpha = 100;
//-------------------
for (i=1; i<=antalpics; i++) {
    _root.attachMovie("pic", "pic"+i, i);
    _root["pic"+i].loadMovie(i+".jpg");
    _root["pic"+i]._alpha = 0;
    _root["pic"+i]._x = 0;
    _root["pic"+i]._x = 0;
    totalBytes += _root["pic"+i].getBytesTotal();
}
//Gentagelse
_root.onEnterFrame = function(){
    if(!picsLoaded){
        loadedBytes = 0;
        for(ii=1;ii<=antalpics;ii++){
            loadedBytes += _root["pic"+ii].getBytesLoaded();
        }
        trace(loadedBytes);
        loadedPercent = Math.round(loadedBytes/totalBytes*100);
        if(loadedPercent >= 100){
            //Er nu preloaded...
            picsLoaded = true;
        }
    }else if(picsLoaded){
        if (currentAlpha>=100) {
            if (!waiting) {
                startTime = Math.round(getTimer()/1000);
                waiting = true;
            } else if (waiting && Math.round(getTimer()/1000)>=startTime+interval) {
                waiting = false;
                currentAlpha -= step;
                nextAlpha += step;
            }
        } else if (currentAlpha<=0) {
            currentPic++;
            if (currentPic>antalpics) {
                currentPic = 1;
            }
            currentAlpha = 100;
            nextAlpha = 0;
        } else {
            currentAlpha -= step;
            nextAlpha += step;
        }
        if (currentPic == antalpics) {
            _root["pic"+currentpic]._alpha = currentAlpha;
            _root.pic1._alpha = nextAlpha;
        } else {
            _root["pic"+currentPic]._alpha = currentAlpha;
          _root["pic"+(currentPic+1)]._alpha = nextAlpha;
        }
    }
};
stop();

Kan med et knips udvides med en loadingbar...

/Filip
Avatar billede pyroman Nybegynder
15. august 2003 - 22:09 #2
Hold da kæft det ser langt ud - men det eneste jeg har gjort er altså at ændre lidt på den første for-løkke og lavet en ekstra... og så lidt if'er
Avatar billede slammer12 Nybegynder
16. august 2003 - 10:44 #3
Hvordan er det nu jeg angiver en sti til billederne?
Hvis billederne ligger i samme bibliotek som .swf'en?
Hvis billederne ligger i et andet bibliotek under samme domæne?
Kan en "http://www" adresse bruges?

Tak for hjælpen!
///Boe
Avatar billede pyroman Nybegynder
18. august 2003 - 10:43 #4
Jepper - sagtens... Men husk at det skal stå som streng - altså fx:
"http://www.minside.dk/"+i+".jpg"
Avatar billede slammer12 Nybegynder
18. august 2003 - 14:20 #5
Er der i praksis forskel på om man angiver en sti eller http://www...??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester