AAA cercasi Flep![]()
This is a discussion on Problema riadattamento metodo moveNestedClip within the Actionscript 3.0 avanzato forums, part of the Flash Italiano category; ciao a tutti, sto provando a smanettare con il tutorial su come caricare swf esterni. Nella seconda versione fatta da ...
ciao a tutti,
sto provando a smanettare con il tutorial su come caricare swf esterni. Nella seconda versione fatta da Flep è stato aggiunto un metodo "moveNestedClip" per la gestione dell'effetto transitorio tra un swf e l'altro...
sto riscontrando parecchi problemi su tale metodo e provando e riprovando sono sempre fermo allo stesso punto. Posto un pò di codice:
Questa è diciamo la zona di codice calda in cui penso ci sia quel qualcosa che non va.Code:private function aggiungiListenerMenu():void { for(var i:int=0;i < bottoni_sezioni_array.length;i++) { bottoni_sezioni_array[i].id=i; bottoni_sezioni_array[i].addEventListener(MouseEvent.MOUSE_DOWN,moveNestedClip); } } private function moveNestedClip(m:MouseEvent):void { this.gotoAndPlay(16); //inizio effetto transizione dell'swf caricato this.addEventListener(Event.ENTER_FRAME,moveMyTimeLine); function moveMyTimeLine(evt:Event):void { if(evt.currentTarget.currentFrame==30) //fine transizione e fine swf { evt.currentTarget.stop(); evt.currentTarget.removeEventListener(Event.ENTER_FRAME,moveMyTimeLine); cambiaSezione(m); } } } private function cambiaSezione(m:MouseEvent):void { id=m.target.parent.id+1; loader.unload(); removeChild(loader); rimuoviListeners(loader.contentLoaderInfo); caricaSezione(m.target.parent.id+1); } private function caricaSezione(n:int):void { swf=sezioni_array[id]; var request:URLRequest=new URLRequest(swf); loader=new Loader(); initListeners(loader.contentLoaderInfo); loader.load(request); }
Appena clicco su un pulsante del menu fa la schermata di transizione ma poi si blocca generando il seguente output:
spero di essere stato chiaro in caso posso postare anche il .flaCode:TypeError: Error #1009: Impossibile accedere a una proprietà o a un metodo di un riferimento oggetto null. at Engine/::cambiaSezione() at MethodInfo-3()
grazie a tutti
ciao ciao
AAA cercasi Flep![]()
posta il fla
.fla postato!!
allora :)
in effetti hai fatto un bel casino.. più che altro di metodo
hai crato infatti due fla che più o meno fanno la stessa cosa , con una document simile e per di più on due cartelle diverse
quindi ..primo consiglio secco è di unificare main e home per risparmiarti un po di lavoro
arrivando all'errore
ti posto il codice corretto
il primo errore lo vedi nel mio commento...devi inserire un flag che ti rimuove il child solo se c'è.. una variabile e un bell'if e risolvi tuttoCode:private function moveNestedClip(m:MouseEvent):void { this.gotoAndPlay(16); //inizio effetto transizione dell'swf caricato //loader.unload(); ////commento by jj - non puoi togliere una cosa non ancora caricata //removeChild(loader); var swf:URLRequest=new URLRequest(); swf.url='sezioni/sezione1.swf'; loader=new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,done); loader.load(swf); }
il secondo errore deriva da quello che dicevo prima..se il tuo fla principale è fuori dalla cartella servizi devi usare la path giusta per caricare gli swf
ovviamente se lo provi usando home.fla (che è già dentro la cartella non va)
ciauz
mmm...sinceramente non ho capito granchè
comunque ora ci studio un pò e vediamo se riesco a capire meglio!!!
ti ringrazio tanto lo stesso!!!
saluti
PS: bellissimo il tuo sito in firma ;)
Bookmarks