Avatar billede slammer12 Nybegynder
07. januar 2004 - 18:42 Der er 2 kommentarer

preloading af eksterne jpeg's

Jeg er ved at brygge et slideshow med JPEG billeder sammen. Billederne bliver hentet som eksterne JPEG's - de ligger altså ikke i scriptet.

Jeg kunne godt tænke mig at alle billeder blev hentet før slideshowet sætter i gang.
Er det muligt at lave en preloader til dette script? 

------------------------------------
Her er scriptet:

antalpics = 3;
waiting = false;
currentAlpha = 100;
nextAlpha = 0;
interval = 3;
currentPic = 0;
//kan ændres til 1
step = 4;
//-------------------
for (i=1; i<=antalpics; i++) {
    _root.attachMovie("pic", "pic"+i, i);
    _root["pic"+i].loadMovie("http://www.xxx.dk/xx/xxx/"+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 thulstrup Nybegynder
08. januar 2004 - 09:22 #1
Du kan gøre sådan her:

var antalpics = 3;
var waiting = false;
var currentAlpha = 100;
var nextAlpha = 0;
var interval = 3;
var currentPic = 0;
//kan ændres til 1
var step = 4;
var x = 100;
var preloaded = 0;
//-------------------
MovieClip.prototype.loadImg = function(jpg) {
    x++;
    var mc = this;
    mc.loadMovie(jpg);
    tmp = createEmptyMovieClip("tmp"+x, x);
    tmp.onEnterFrame = function() {
        this.procent = Math.floor((mc.getBytesLoaded()/mc.getBytesTotal())*100);
        if (!isNan(this.procent) && mc.getBytesTotal()>50) {
            trace(jpg+" er loaded "+this.procent+"%");
        }
        if (this.procent == 100 && mc.getBytesTotal()>50) {
            preloaded++;
            if (preloaded == antalpics) {
                trace("alle billeder er loaded -> start slideshow");
                init();
            }
            this.removeMovieClip();
        }
    };
};
//-------------------
for (var i = 1; i<=antalpics; i++) {
    _root.attachMovie("pic", "pic"+i, i, {_x:0, _y:0, _alpha:0});
    _root["pic"+i].loadImg(+i+".jpg");
}
function init() {
    this.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 slammer12 Nybegynder
08. januar 2004 - 23:40 #2
Hej cellbl10ck

Tak for dit script. Jeg har nu lavet en ny flashfilm med dit script. Men når jeg kører denne, sker der intet. Mine billeder ligger i samme mappe som flashfilmen.
Hvilken variabel skal jeg bruge for at få en procenttæller på?  (altså en der viser hvor langt preloaderen er nået)
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