Ciao a tutti,
ho un problema con un preloader effettuato con il metodo load() della classe Loader.
Il file a.swf carica il file b.swf. Durante il primo caricamento visualizzo la loadbar che si scala perfettamente seguendo l'evento "progress", e poi viene rimossa al "complete".
Unico problema è che al refresh della pagina html che contiene a.swf, il browser recupera dalla cache il file b.swf che si visualizza in un baleno (e fin qui tutto ok), ma mi mostra per una frazione di secondo ancora la mia preloadbar. E' possibile risolvere questo problema o non c'è modo?
A questo indirizzo potete vedere il test che ho fatto:
http://www.klauzz.com/test
E qui di seguito il codice che ho utilizzato nel file a.swf.
Klauzzcodice:var loader:Loader;// The asset loader var mainpreloader:MainPreloader;//The preloader instance //Starts the loading process photoViewer(); function photoViewer() { // Create the Loader createLoader(); // Create the progress indicator createProgressIndicator(); // Start the load operation load(new URLRequest("externalfile.swf")); } function createLoader():void { // Create the Loader loader = new Loader(); // Register for events loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeListener); loader.contentLoaderInfo.addEventListener(Event.INIT, initListener); } function createProgressIndicator():void { mainpreloader = new MainPreloader(); mainpreloader.name="mainpreloader"; mainpreloader.loadBar.width=0; mainpreloader.x = 600 / 2 - (mainpreloader.width / 2); mainpreloader.y = 300 / 2 - (mainpreloader.height / 2); } function load(urlRequest:URLRequest):void { loader.load(urlRequest); if (! contains(mainpreloader)) { addChild(mainpreloader); } } // Listener invoked whenever data arrives function progressListener(e:ProgressEvent):void { // Update progress indicator. var percent:int=Math.round(e.bytesLoaded/e.bytesTotal*100); mainpreloader.loadBar.width=percent; } function initListener(e:Event):void { addChild(loader.content);// Add loaded asset to display list } // Listener invoked when the asset has been fully loaded function completeListener(e:Event):void { // Remove progress indicator. removeChild(mainpreloader); }

Rispondi quotando
