Salve ragazzi,
Vorrei capire come creare un preloader in flash che carica un swf, tutto utilizzando solo l'actionscript 3.0. per adesso ho una classe che vorrei capire bene come usarla, qualcuno può spiegarmi come fare il tutto.
Grazie anticipatamente,
Gaten
CLASSE "Loading.as"
In pratica io dovrei fare in modo che appena clicco "ENTRA", la scritta "ENTRA" si toglie e inizia il preloader, una volta finito il preloader, si carica la pagina.codice:package { import flash.display.MovieClip; import flash.display.SimpleButton; import flash.text.TextField; import flash.display.Loader; import flash.events.*; import flash.net.URLRequest; public class Loading extends MovieClip { private var url:String; private var loader:Loader; public function Loading() { stage.frameRate=31; info_mc.visible=false; init(); } private function init():void { url='my_swf.swf' +new Date().getTime(); var request:URLRequest=new URLRequest(url); loader=new Loader(); initListeners(loader.contentLoaderInfo); loader.load(request); } private function initListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE,completato); dispatcher.addEventListener(IOErrorEvent.IO_ERROR,seErrore); dispatcher.addEventListener(Event.OPEN,inizia); dispatcher.addEventListener(ProgressEvent.PROGRESS,inCaricamento); } private function initButtonListener():void { ricarica_btn.addEventListener(MouseEvent.CLICK,scarica); } private function inizia(event:Event):void { removeButtonListener(); info_mc.visible=true; debug_txt.text='INIZIO'; } private function inCaricamento(event:ProgressEvent):void { var n:uint=(event.bytesLoaded/event.bytesTotal)*100; info_mc.loading_txt.text='Loading '+n.toString()+' %'; var nn:uint=(event.bytesLoaded/event.bytesTotal)*info_mc.border_mc.width; info_mc.fill_mc.width=nn; debug_txt.appendText('.'); } private function completato(event:Event):void { debug_txt.appendText('FINITO'); info_mc.visible=false; addChild(loader); loader.x=10; loader.y=10; loader.width=loader.height=200; initButtonListener(); } private function seErrore(event:IOErrorEvent):void { trace("ioErrorHandler: "+event); } private function scarica(event:MouseEvent):void { removeChild(loader); removeListeners(loader.contentLoaderInfo); init(); } private function removeButtonListener():void { ricarica_btn.removeEventListener(MouseEvent.CLICK,scarica); } private function removeListeners(dispatcher:IEventDispatcher):void { dispatcher.removeEventListener(Event.COMPLETE,completato); dispatcher.removeEventListener(IOErrorEvent.IO_ERROR,seErrore); dispatcher.removeEventListener(Event.OPEN,inizia); dispatcher.removeEventListener(ProgressEvent.PROGRESS,inCaricamento); } } }

Rispondi quotando