(page) REDIGERET 21 October 2011 • by admin
Intern preloader
Edited 31 March 2011 • admin TOC • be the first to comment
Hvor preloader af eksterne filer håndteres med “contentLoaderInfo”, ligger den interne info om enhver flashfil i “loaderInfo”.
Forberedelse
Dynamiak tekstfelt: pct_txt
Animeret movieclip på 100 frames: frames100_mc
flashscope.com: the-most-creative-flash-preloaders-of-all-times
// placeres på en keyframe - før alle andre frames ..
// Husk at trykke CTRL+ENTER 2 gange for at teste preloader.
stop();
loaderInfo.addEventListener(ProgressEvent.PROGRESS, PHANDLER);
function PHANDLER(e:ProgressEvent) {
var pctLoaded:int = Math.round(e.bytesLoaded/e.bytesTotal * 100);
pct_txt.text=pctLoaded.toString()+" %";
frames100_mc.gotoAndStop(pctLoaded);
}
loaderInfo.addEventListener(Event.COMPLETE, CHANDLER);
function CHANDLER(e:Event) {
// Næste linie er nyttig hvis filmen selv bliver loadet ind i en anden
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, PHANDLER);
gotoAndStop("der-hvor-filmen-starter");
}
Test movie lokalt
Husk at teste 2 gange med Ctrl+Enter, for at simulere en download fra server.
Intern preloader og linked objects
NB Hvis der i filmen optræder “linked objects”, dvs. dynamiske tilføjet objecter fra library – symboler hvor der er højreklikket og valgt properties og “Export for ActionScript”, skal der laves en manøvre for at få preloaderen til at virke før dem.
Export in frame 1
Selvom din preloader er i frame 1, så skal ingen af de linkede symboler eksporteres i frame 1, da de ellers vil loade FØR preloaderen!
Export in frame 1 skal derfor slås fra

Hemmelig Keyframe
At slå export fra, vil desværre udelukke at symbolerne publiceres med i filmen, da de for det meste oprettes dynamisk.
Derfor kan der oprettes en workaround-keyframe, som aldrig bliver afspillet, hvor alle linkede symboler bliver lagt ind manuelt. De er således med i filmen, men forbliver usynlige fordi den keyframe de ligger på ikke navigeres hen til, og de dukker først frem når det er meningen, nemlig vha. actionscript og var dims:whatever = new whatever();
Er der tale om en lyd, skal dens sync-værdi i properties sættes til “start”
