Avatar billede thulstrup Nybegynder
14. november 2002 - 12:05 Der er 3 kommentarer og
1 løsning

problem med preloader

Jeg har en preloader (preloader.swf) som jeg bruger til at loade alle eksterne film ind i min hovedfilm (site.swf). Det foregår ved at jeg loader preloader.swf ind i det tomme movieclip "preloader" samt sender navnet på den eksterne .swf der skal loades. Det ser f.eks. sådan her ud:

on(release) {
loadMovie("preloader.swf? filnavn=hjem.swf", "_root.preloader");
}

Preloaderen skulle så gerne tælle op indtil hjem.swf er loadet og derefter vise filmen i det tomme movieclip "indhold_holder". Jeg kan bare ikke få det til at virke. Preloaderen vises lige i et split sekund og ellers er der blank skærm indtil filmen er loadet.
Scriptet på min preloader ser sådan ud:

onClipEvent(load){
tid=getTimer()+1000
hentetFraStart=_parent.getBytesLoaded()
}

onClipEvent(enterFrame){
if(!film) {
    loadMovie(_root.preloader.filnavn, "_root.indhold_holder");
    film = true;
}
procent=int( _root.indhold_holder.getBytesLoaded() * 100 / _root.indhold_holder.getBytesTotal()) + "%"
tA=getTimer()
if( tA >= tid ){
    hentetNu=_root.indhold_holder.getBytesLoaded()
    hentetMinusPreloaderen=(hentetNu-hentetFraStart)
    tiden_resterende= int((_root.indhold_holder.getBytesTotal()-_root.indhold_holder.getBytesLoaded()) / hentetMinusPreloaderen)
    for(sekunder=tiden_resterende; sekunder>=60; sekunder-=60 ){
        i++
    }
    for(minutter=int(tiden_resterende/60); minutter>=60; minutter-=60){
        i--
    }
    timer= int(tiden_resterende/60/60)
    sekunder= (sekunder<10) ? "0"+sekunder : sekunder
    minutter= (minutter<10) ? "0"+minutter : minutter
    timer= (timer<10) ? "0"+timer : timer
    tiden_resterende= timer+":"+minutter+":"+sekunder
    enhed=(hentetMinusPreloaderen<1000)?" bytes" : " kb"
    hentetMinusPreloaderen=(hentetMinusPreloaderen<1000)? hentetMinusPreloaderen : int(hentetMinusPreloaderen/100)/10
    tid=getTimer()+1000
    hentetFraStart=_root.indhold_holder.getBytesLoaded()
}
tekst= "procent: " + procent + "<br>hentet: " + int(_root.indhold_holder.getBytesLoaded()/1000) + "kb<br>ialt: " + int(_root.indhold_holder.getBytesTotal()/1000) + "kb<br>hastighed: " + hentetMinusPreloaderen + enhed +"/sekund<br>resterende tid: " + tiden_resterende
if(ir<>1 && _root.indhold_holder.getBytesTotal() == _root.indhold_holder.getBytesLoaded()) {
    ir=1
    _parent.bar._visible = false;
    _parent.tekst._visible = false;
}
}
Avatar billede baitianlong Nybegynder
14. november 2002 - 15:41 #1
Skal der ikke stå sekunder++ og minutter-- i stedet for i i++ dine forløkker ??

Jeg ved ikke om det har noget at sige, men det ser lidt underligt ud (o;
Avatar billede baitianlong Nybegynder
14. november 2002 - 16:02 #2
prøv at putte dette ind
til sidst, hvor du har din if sætning...

frame++;
if(ir != 1 && _root.indhold_holder.getBytesTotal() == _root.indhold_holder.getBytesLoaded() && frame > 10) {
    ir=1
    _parent.bar._visible = false;
    _parent.tekst._visible = false;
} else {
    _parent.bar._visible = true;
    _parent.tekst._visible = true;
}
Avatar billede baitianlong Nybegynder
14. november 2002 - 16:03 #3
glem min første kommentar !! Der stenede jeg lidt /o;
Avatar billede thulstrup Nybegynder
23. januar 2003 - 14:04 #4
lukker
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