Avatar billede thulstrup Nybegynder
21. december 2002 - 11:18 Der er 1 kommentar og
1 løsning

ekstern preloader problemer

Jeg bruger en ekstern preloader til at loade eksterne swf'er ind i min hovedfilm. Jeg troede egentlig at det fungerede fint, men så her den anden dag da mit net kørte meget langsomt kunne jeg se at flash først efter preloaderen er forsvundet begynder at loade den eksterne swf. Det er der jo ikke meget idé i, men jeg kan bare ikke se fejlen.

Preloaderen bliver loadet ind i det tomme movieclip "preloader" og den ekstern swf, bliver loadet ind i det tomme movieclip "indhold".

Preloaderen bliver kaldt med:
loadMovie("preloader.swf?filnavn=filnavn.swf", "_root.preloader");

Scriptet til preloaderen ser sådan ud:
onClipEvent (load) {
    this._xscale = 0;
}

onClipEvent (enterFrame) {
if (!film) {
  loadMovie(_root.preloader.filnavn, "_root.indhold");
  _root.indhold._visible = false;
  film = true;
}
ialt = Math.round((_root.indhold.getBytesTotal()/1024));
hentet = Math.round((_root.indhold.getBytesLoaded()/1024));
procentHentet = int(hentet/ialt*100);
this._xscale = procentHentet;
if (ialt == hentet && _alpha>0) {
  _alpha -= 10;
}
if (this._alpha<=0) {
  _root.indhold._visible = true;
}
}
Avatar billede beorndesign Nybegynder
23. december 2002 - 00:09 #1
Hvis du glemmer dine onClipEvent og istedet placere nedenstående kode i frame nr. 2 i din timeline. I filnavn.swf skal første frame dog være blank med en stop funktion (eller du kan tilføje _visible=true/false og lave en stop funktion lige efter loadMovie...). Håber det løste dit problem ;-)

loadMovie(_root.preloader.filnavn, "_root.indhold");
framesLoaded = getProperty(_root.indhold, _framesloaded);
totalFrames = getProperty((_root.indhold, _totalframes);
if (framesLoaded >= totalFrames) {
    _root.indhold.play();
} else {
    gotoAndPlay(_currentframe - 1);
}
loading = Math.floor(_root.indhold.getBytesLoaded()/_root.indhold.getBytesTotal()*100);
TextBox.loading = "Loading... "+loading+" %";
setProperty("_root.preloader", _xscale, loading);
Avatar billede thulstrup Nybegynder
23. december 2002 - 16:12 #2
Mystisk, nu ser det ud til at virke alligevel?!?
Jeg ændrede lidt i koden, men ikke noget jeg troede gjorde forskel. Måske det hjalp at fjerne _visible=true/false?

Her er det nye script (hvis det interessere nogen):

onClipEvent (load) {
    this._xscale = 0;
    loadMovie(_root.preloader.filnavn, "_root.indhold");
}
onClipEvent (enterFrame) {
    ialt = Math.round((_root.indhold.getBytesTotal()/1024));
    hentet = Math.round((_root.indhold.getBytesLoaded()/1024));
    procentHentet = int(hentet/ialt*100);
    this._xscale = procentHentet;
    if (ialt == hentet && _alpha>0) {
        _alpha -= 10;
        _parent.bg._alpha -= 10;
        _parent.tekst._alpha -= 10;
    }
}

Det blev aldrig nødvendigt at prøve din metode beorndesign, men jeg er sikker på at den også havde virker!
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