[flash AS2] preloader wordt pas getoond vanaf 85%

Pagina: 1
Acties:
  • 543 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mijn .swf met preloader (9mb) wordt pas getoond als de .swf 85% geladen is, of soms zelf nog pas later. Dit gebeurt in IE7 & FF. In Safari wordt de preloader helemaal niet getoond!
Vanwege de eolas-zaak gebruik ik een variant op swfObjects.js. De preloader die ik heb toegepast vergelijkt getBytesTotal() met getBytesLoaded() in AS2.

Ik heb geprobeerd de object-tag in de html te tonen zonder swfObjects, dan krijg je het bekende grijze randje rond je flash, maar nog werd de preloader pas laat getoond. Ook heb ik een javascriptversie van Macromedia geprobeerd, maar dit had ook geen effect. Ik heb geprobeerd de export van de .swf van flash6 naar flash7 te veranderen, ik dacht dat misschien de javascript daar anders mee zou omgaan, maar dit had ook geen effect. Ik heb ook een lege .swf als schil gebruikt en daarin de .swf geladen van 9mb, maar dit werd helemaal niet getoond.

hier (http://dev.arendlaan18.nl/tweak/preloader/) staat een testcase, met hetzelfde gewicht ...

Wat doe ik nu verkeerd?
Voor zo'n situatie zijn toch preloaders, hoe kan ik de .swf aanroepen zodat de preloader volledig getoond wordt?

Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ik mis even juist de code die het preloading gedeelte voor hun rekening nemen ;)

Post die even, zodat we wellicht kunnen aanwijzen waar het probleem ligt :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • dcm360
  • Registratie: December 2006
  • Niet online

dcm360

Moderator Discord

HD7767 powered

Hoewel ik de code niet ken, heb ik zomaar een vermoeden. Als je bij symbolen in de library de optie 'Export for Actionscript' of 'Export in first frame' , wat meestal samengaat, aangevinkt hebt staan, dan worden die symbolen ingeladen voordat het eerste frame zichtbaar word.
Als dit zo is, kan je het oplossen door de vinkjes weg te halen, of als die echt nodig zijn in je script, een wrapper maken, iets dat dus op je lege swf lijkt. In dat geval moet je op de lege swf bijvoorbeeld de volgende code zetten:
code:
1
2
3
4
5
6
7
8
9
10
11
12
this.createEmptyMovieClip("holder_mc", this.getNextHighestDepth());
holder_mc.loadMovie("mijnFlashFilm.swf");
holder_mc._lockroot=true;
this.createTextField("voortgang_txt",this.getNextHighestDepth(),0,0,200,20);
this.onEnterFrame=function(){
    procent=Math.round((holder_mc.getBytesLoaded()/holder_mc.getBytesTotal())*100);
    voortgang_txt.text=procent+"% geladen";
    if(procent==100){
        removeMovieClip(voortgang_txt);
        this.onEnterFrame=null;
    }
}

Waarbij je natuurlijk wel een mooiere preloader dan dit kan verzinnen, maar dit is even een snel te gebruiken voorbeeld met als voordeel dat de holder maar 387 bytes groot is.