(page) REDIGERET 21 October 2011 • by admin

Intern preloader

Preloader intern

Edited 31 March 2011 • admin TOCbe 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

linkage

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”

linkage2