Avatar billede slammer12 Nybegynder
05. august 2003 - 19:40 Der er 1 kommentar og
2 løsninger

preloader til dynamiske jpegs

Er det muligt at lave en preloader med procentangivelse til et slideshow, der loader dynamiske jpegs?
Se http://www.eksperten.dk/spm/382302 - dette script loader x antal billeder som så kører i et slideshow.  I starten af scriptet angiver man hvor mange billeder "showet" skal bestå af, jeg tænkte at denne variabel måske kunne bruges.....men jeg ved ikke hvordan...


///Boe
Avatar billede brianus Nybegynder
05. august 2003 - 21:06 #1
Hvis du henter jpg'en ind i et tomt mc med instance navn "foto", så er koden for at få procenten sådan her:

onClipEvent (enterFrame) {
    _root.loaded = Math.round((_root.foto.getBytesLoaded()*100)/_root.foto.getBytesTotal());
}

Det funker, når du loader et billede ind, men det lyder til at du loader en hel stak billeder, og så ved jeg ikke, hvad du skal.
Avatar billede baitianlong Nybegynder
06. august 2003 - 03:45 #2
Så skal de vel bare lægges sammen:

toBeLoaded = mc1.getBytesTotal() + mc2.getBytesTotal() + mc3.getBytesTotal();

efter du har valgt loadMovie på de pågældende movieclips, vil den information være tilgængelig efter få sekunder...

Her er en demo, hvor et kæmpe billede læses ind med preloader:

http://legende.dk/eksperten/loadpro.html

på "knappen" (som i denne anledning er et movieClip) står der bare:

on(release) {
loadMovie("billede.jpg", "_root.holder");
}
onClipEvent(enterFrame) {
_root.pro = Math.round((_root.holder.getBytesLoaded() / _root.holder.getBytesTotal()) * 100) + " % loaded";
}
Avatar billede f5 Nybegynder
06. august 2003 - 09:41 #3
Der er to måder: enten loader du dem alle ind på en gang og gøre som legende siger ellers loader du dem ind individuelt. Lad os sige du har navnen på de billeder du vil hente i en array så kan du gøre følgende:

minArray=["pic1.jpeg","pic3.jpeg","pic7.jpeg","pic12.jpeg"...]


for(var i=0; i<minArray.length;i++){
this.minBilledHolder.createEmptyMovieClip("pic"+i,Number(i+1))
this.minBilledHolder[("pic"+i].loadMovie(this.minArray[i])
this.total+=this.minBilledHolder[("pic"+i].getBytesTotal()
}
this.onEnterFram=funtion(){
for(var i=0; i<minArray.length;i++){
this.loadedNu+=this.minBilledHolder[("pic"+i].getBytesLoaded()
}
minProgressbar._xscale=(this.loadedNu/this.total)*100
this.loadedNu=0
}

Jeg har ikke tid til at give et eksempel på den anden måde nu. Du må skrive tilbage hvis du for brug for det...
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