Passo dopo passo...
Ora avrei bisogno di caricare un file .swf esterno nello stage, scondo la filosofia AS 3.0 e il Display list ho capito che devo usare la classe load per caricare un movieclip e non più loadMovie... così che ho questa necessità
(ecco delle porzioni di codice)
Come faccio a passare il nome del file .swf esterno, da caricare, alla funzione loadImmagini ?codice://listener sul movieClip da cliccare a_mc.addEventListener(MouseEvent.CLICK, onClick, false, 0, true); . . . //Funzione che fa delle cose function onClick(e:MouseEvent):void { var dx:Number = e.target.x - freccia_mc.x; var dy:Number = e.target.y - freccia_mc.y; var radians:Number = Math.atan2(dy, dx); var degrees:Number = (radians * 180 / Math.PI)-14; TweenLite.to(freccia_mc, 1, {rotation:degrees, ease:Sine.easeOut}); TweenMax.to(e.target, 1, {colorMatrixFilter:{colorize:0xff0000, amount:1}}); //qui devo caricare un file .swf esterno nominato come il nome del movieclip cliccato loadImmagini(nomeFile); trace(e); trace(this); trace(e.target); } . . . //Funzione che carica il file swf esterno sullo stage... function loadImmagini(nomeFile:String) { // inizializzo una variabile di tipo stringa che contenga il nome del file da caricare var filename:String = nomeFile + ".swf"; // inizializzo una richiesta url esterna, tramite la classe URLRequest e gli passo il nome del file da caricare var request:URLRequest = new URLRequest(filename); // inizializzo un'istanza del DisplayObjectContainer, di tipo Loader() var loader:Loader = new Loader(); // inizializzo un'istanza di LoaderInfo per assegnargli i listener corrispondenti alle azioni var infoloader:LoaderInfo = loader.contentLoaderInfo; // aggancio le azioni ad ogni evento per monitorare il caricamento infoloader.addEventListener(Event.COMPLETE, completeHandler); infoloader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); infoloader.addEventListener(Event.INIT, initHandler); infoloader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); infoloader.addEventListener(Event.OPEN, openHandler); infoloader.addEventListener(ProgressEvent.PROGRESS, progressHandler); // inizializzo le funzioni corrispondenti agli eventi da verificare per la classe Loader function completeHandler(event:Event) { trace("Caricamento completato, è possibile effettuare azioni sul file appena caricato!"); } function httpStatusHandler(event:HTTPStatusEvent) { trace("Ricevuto stato http "+event.status); } function initHandler(event:Event) { trace("File esterno inizializzato, è adesso possibile richiamare le azioni contenute nel file esterno!"); } function ioErrorHandler(event:IOErrorEvent) { trace("Errore durante il caricamento del file"); } function openHandler(event:Event) { trace("Caricamento inizializzato, attendere il completamento!"); } function progressHandler(event:ProgressEvent) { var percentual:int = (event.bytesLoaded/event.bytesTotal)*100; trace("Caricamento di "+percentual+"%"); } // richiamo il metodo Loader.load(request:URLRequest), per iniziare il caricamento esterno // e gli passo come parametro, la richiesta url inizializzata in precedenza loader.load(request); // inserisco il Loader() nella "display list" dello stage corrente addChild(loader); }

Rispondi quotando