Forum Flash, Actionscript, PHP e MySQL
problema con removeChild [as3.0]

 
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » Actionscript 3.0
Precedente  Successivo 
Autore Messaggio
theboss
principiante
principiante



Registrato: 03/06/06 10:00
Messaggi: 70

MessaggioOggetto: problema con removeChild [as3.0]
Inviato: 15.03.10 | 15:09
Rispondi citando

Ciao a tutti, sono nuovo del mondo as3.0 e mi sto avventurando in una prova per apprenderlo bene,
Illustro brevemente il problema:

Ho una movieclip che quando il mouse li va sopra esce da dietro un cartellino, e quando il mouse esce il cartellino torna indietro e scompare. il problema sta propio nel farlo scomparire!

la classe della movie clip si chiama Stuatua mentre l'altra movie clip che esce Menu.
con l'evento mouseover avviene l'adchild di Menu (this.addChildAt(menu, 0) per farla stare dietro e quindi non visibile) e parte la public function di Menu che fa il tween del cartellino per portalo fuori dalla Statua.

Quando il mouse esce parte l'altra public function di Menu che fa il tween all'incontrario

Per rimuovere dallo stage Menu ho provato in questo modo: quando la tween è completata faccio partire attraverso la classe Menu una public function di Statua che rimuove l'istanza della classe: this.removeChildAt(0); ma non fa nulla il cartello rimane e non genera errori!

spero di essermi spiegato bene fagiano
Torna in cima
Profilo Messaggio privato   MSN Messenger
Sponsor
theboss
principiante
principiante



Registrato: 03/06/06 10:00
Messaggi: 70

MessaggioOggetto:
Inviato: 15.03.10 | 15:17
Rispondi citando

mi sto avvicinando al problema, facendo un trace di menu(istaza Menu) all'interno della funzione con il removeChild mi dice Null, non capisco il perchè
Torna in cima
Profilo Messaggio privato   MSN Messenger
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 15.03.10 | 15:55
Rispondi citando

Ciao the_boss,
insomma... non si capisce nenissimo cosa tu faccia...

STATUA » addChild

STATUA » removeChild

?

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
theboss
principiante
principiante



Registrato: 03/06/06 10:00
Messaggi: 70

MessaggioOggetto:
Inviato: 15.03.10 | 16:29
Rispondi citando

 
Coach ha scritto:
Ciao the_boss,
insomma... non si capisce nenissimo cosa tu faccia...

STATUA » addChild

STATUA » removeChild

?


l'addchild della statua viene fatta nel main, ma li tutto bene!

i problemi sorgono riumuovendo il menu all'interno della classe statua. Io chiamo una funzione di Statua da Menu che fa rimuovere l'addchild di menu, ma da questa funzione non si raggiunge menu, facedo un trace(menu) me lo vede come null. Forse ci vuole una tecnica diversa per richiamare quella funzione
Torna in cima
Profilo Messaggio privato   MSN Messenger
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 15.03.10 | 16:34
Rispondi citando

Cerca di spiegarti un pelino meglio.

l'addChild di menu dove lo fai? DA statua IN statua?
ed il removeChild? lo stesso?

Prova magari a postare 2 righe di codice, con qualche spiegazione :)

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
theboss
principiante
principiante



Registrato: 03/06/06 10:00
Messaggi: 70

MessaggioOggetto:
Inviato: 15.03.10 | 18:34
Rispondi citando

 
Coach ha scritto:
Cerca di spiegarti un pelino meglio.

l'addChild di menu dove lo fai? DA statua IN statua?
ed il removeChild? lo stesso?

Prova magari a postare 2 righe di codice, con qualche spiegazione :)


l'addChild di menu viene all'interno di statua, e anche la funzione che efettua il remove è all'interno di statua ma viene chiamata all'interno di menu a tween finita

 
Codice:
/////////// interno di Statua dove avviene l'addchild

private function showWord(me:MouseEvent):void{ // quando il mouse entra
            this.addChildAt(menu, 0);
                        menu.showMc();
        }

private function hideWord(me:MouseEvent):void{ //quando il mouse esce
            menu.hideMc();
        }

//questa è la funzione che dovrebbe togliere l'istanza di menu, chiamata sucessivamente [u]DA MENU[/u]
public function remove():void{
            trace(this.menu);  //<- questo mi dice null O.o
            this.removeChildAt(0);
        }

 
Codice:
/////////// interno di Menu

public function hideMc():void{
            mover = new Tween(this,"rotation",Strong.easeOut,140,-45,1,true);
            mover.addEventListener(TweenEvent.MOTION_FINISH,remove);
        }


private function remove(te:TweenEvent):void{
            removeEventListener(TweenEvent.MOTION_FINISH,remove);
            statua = new Statua();
            statua.remove();
        }
Torna in cima
Profilo Messaggio privato   MSN Messenger
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 15.03.10 | 19:29
Rispondi citando

Non ho capito perchè nel remove crei una nuova istanza di Statua... che sia quello l'errore? fagiano
____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
theboss
principiante
principiante



Registrato: 03/06/06 10:00
Messaggi: 70

MessaggioOggetto:
Inviato: 16.03.10 | 02:00
Rispondi citando

 
Coach ha scritto:
Non ho capito perchè nel remove crei una nuova istanza di Statua... che sia quello l'errore? fagiano


devo per forza! sono su un'altra classe(Menu), se no come faccio a richiamare il metodo pubblico che è in statua
Torna in cima
Profilo Messaggio privato   MSN Messenger
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 16.03.10 | 13:13
Rispondi citando

hehehe, non ci siamo fagiano

Così facendo crei una nuova istanza dell'oggetto Statua.
E questo nuovo oggetto Statua, che non è quello in cui hai addato il Menu non avrà appunto l'oggetto Menu (spiegato il null).

Per operare sull'Oggetto Statua da Menu, devi utilizzare un riferimento, oppure dispatchare un evento da Menu e gestire un Listener su Statua.

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
theboss
principiante
principiante



Registrato: 03/06/06 10:00
Messaggi: 70

MessaggioOggetto:
Inviato: 16.03.10 | 16:13
Rispondi citando

mal di testa:-?
ma credo di aver capitlo ameno dove sta l'errore, ora non mi resta altro che vedere come si dipatcciano gli eventi. Grazie mille dell'aiuto coach Clap Clap
Torna in cima
Profilo Messaggio privato   MSN Messenger
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto: AS 3.0: dispatchEvent
Inviato: 16.03.10 | 16:24
Rispondi citando

E' semplice, ti basterà:

1) aggiungere una proprietà nell'oggetto che invierà l'evento (Menu):
 
Codice:
public static const REMOVE_MENU:String = 'RemoveMenu';

2) dispatchare l'evento (Menu):
 
Codice:
dispatchEvent(new Event(REMOVE_MENU));

3) aggiungere un listener in ascolto (Statua)
 
Codice:
istanza_menu.addEventListener(MenuObject.REMOVE_MENU, remove);


Se ho capito bene come sono strutturati i 2 oggettini fagiano

Ma visto che stai scrivendo solo metodi public, puoi sempicemente passare un riferimento di Statua a Menu, oppure usare il parent.


Ultima modifica di Coach il 22.07.10 | 12:02, modificato 2 volte in totale
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
theboss
principiante
principiante



Registrato: 03/06/06 10:00
Messaggi: 70

MessaggioOggetto: Re: AS 3.0: dispatEvent
Inviato: 16.03.10 | 18:20
Rispondi citando

 
Coach ha scritto:
E' semplice, ti basterà:

1) aggiungere una proprietà nell'oggetto che invierà l'evento (Menu):
 
Codice:
public static const REMOVE_MENU:String = 'RemoveMenu';

2) dispatchare l'evento (Menu):
 
Codice:
dispatchEvent(new Event(REMOVE_MENU));

3) aggiungere un listener in ascolto (Statua)
 
Codice:
istanza_menu.addEventListener(MenuObject.REMOVE_MENU, remove);


Se ho capito bene come sono strutturati i 2 oggettini fagiano

Ma visto che stai scrivendo solo metodi public, puoi sempicemente passare un riferimento di Statua a Menu, oppure usare il parent.


Sei un tesoro Mr. Green

funziona che è uno spettacolo!

ho solo dovuto arrangiare il codice cosi:

menu.addEventListener(Menu.REMOVE_MENU, remove);

Grazie mille ancora
Torna in cima
Profilo Messaggio privato   MSN Messenger
caramelleamare
nuovo utente
nuovo utente



Registrato: 27/05/11 09:14
Messaggi: 4

MessaggioOggetto:
Inviato: 27.05.11 | 09:37
Rispondi citando

ciao, premetto che non ci capisco niente di codice eprogrammazione perche ho appena iniziato e conosco appena due righe.
fra le cose che mi hanno insegnato c'è appunto il caso di rollover e out di un MC.
non capisco perche in questo caso è complivcato fare quello che vuoi fare: cioè, con actionscript per non potevi usare questo codice per fare quello che vuoi?

var keyvar_menu1:Number = 0

clipmio.addEventListener(MouseEvent.MOUSE_OVER, buttonOverHandler1);
function buttonOverHandler1(MouseEvent) : void {
keyvar_menu1 = 1;
}
clipmio.addEventListener(MouseEvent.MOUSE_OUT, buttonOutHandler1);
function buttonOutHandler1(MouseEvent) : void {
keyvar_menu1 = 0;
}
clipmio.addEventListener(Event.ENTER_FRAME, MC_EF1);
function MC_EF1(MouseEvent) : void {
if (keyvar_menu1 == 1) {
clipmio.nextFrame();
}
else if (keyvar_menu1 == 0) {
clipmio.prevFrame();
}
}

ciao!
Torna in cima
Profilo Messaggio privato  
Mostra prima i messaggi di:   
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » Actionscript 3.0 Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

Discussioni Simili
Topic Autore Forum Risposte Ultimo Messaggio
Nessun nuovo messaggio problema php as3 raf74 Actionscript 3.0 0 27.09.10 | 12:42 Leggi gli ultimi messaggi
raf74
Nessun nuovo messaggio problema con pop up malcom ActionScript & Server Side 2 29.05.06 | 14:09 Leggi gli ultimi messaggi
malcom
Nessun nuovo messaggio Problema ut 3 NONSO KE NICK METTERE Games 4 24.07.08 | 13:49 Leggi gli ultimi messaggi
NONSO KE NICK METTERE
Nessun nuovo messaggio problema css afesk87 HTML, XHTML, CSS, standard W3C e accessibilità 5 02.02.06 | 12:56 Leggi gli ultimi messaggi
Coach
Nessun nuovo messaggio problema php as3 raf74 Actionscript 3.0 0 27.09.10 | 12:12 Leggi gli ultimi messaggi
raf74



 
Vai a:  
Non puoi inserire nuovi Topic in questo forum
Non puoi rispondere ai Topic in questo forum
Non puoi modificare i tuoi messaggi in questo forum
Non puoi cancellare i tuoi messaggi in questo forum
Non puoi votare nei sondaggi in questo forum
Non puoi allegare files in questo forum
Non puoi downloadare gli allegati in questo forum



Powered by phpBB © 2001, 2002 phpBB Group - phpBB SEO Designed by coachdesign - © 2003-2005