|
|
| Autore |
Messaggio |
nuovobuio
nuovo utente

Registrato: 14/06/09 23:55
Messaggi: 15
|
Oggetto: Inviare Variabile Alla DocumentClass
Inviato: 21.07.10 | 19:01 |
|
|
Ragazzi, mi volete spiegare in che modo, tramite una classe esterna, posso inviare una variabile alla document class?
Dalla documentClass chiamo la classe "Righe", e gli invio le variabili che mi servono.
| Codice: | private function crea():void{
righe = new Righe(esUno,esDue);
} |
Fin qua tutto bene, ora vorrei fare il contrario, tramite la classe "Righe" inviare, al click su un movieclip, la variabile target alla documentClass e tracciarla da lì, credevo bastasse un return e un trace ma mi sbagliavo, che metodo si usa??
| Codice: | private function attacca(e:Event):void{
var target:int = 25
return target;
} |
Mi hanno suggerito di utilizzare gli eventi, ma non capisco in che modo.. |
|
| Torna in cima |
|
|
Sponsor
|
|
 |
theboss
principiante


Registrato: 03/06/06 10:00
Messaggi: 70
|
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 22.07.10 | 12:01 |
|
|
Si devi utilizzare un dispatchEvent, guarda soprattutto questa risposta:
» AS 3.0: dispatchEvent
 ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
nuovobuio
nuovo utente

Registrato: 14/06/09 23:55
Messaggi: 15
|
Oggetto:
Inviato: 22.07.10 | 13:43 |
|
|
vediamo se ci arrivo..allora sono due classi, la "main" e la "righe", io da "righe" devo inviare una variabile a main e da main tracciarla.
Seguendo il tuo esempio usando gli eventi, mi creo la variabile che mi serve in "righe":
| Codice: | public static const invio:String = "prova invio"; |
sempre in righe in una qualsiasi funzione mi attivo l'evento, dicendogli di inviare la variabile "invio":
| Codice: | dispatchEvent(new Event(invio)); |
Ora nella classe Main che riceve l'evento, scrivo :
| Codice: | private function crea():void
{
addEventListener(Righe.invio,funzioneQualunque);
}
private function funzioneQualunque():void
{
trace(invio);
} |
e ovviamente mi da errore..!! Chiaritemi le idee per favore sono sul web da ore cercando spiegazioni ma non capisco st'evento! |
|
| Torna in cima |
|
|
nuovobuio
nuovo utente

Registrato: 14/06/09 23:55
Messaggi: 15
|
Oggetto:
Inviato: 22.07.10 | 22:53 |
|
|
Ho letto e ancora nulla, riesco ad inviare una stringa ma non una variabile number o int, per quale motivo?
| Codice: | 1067: Implicit coercion of a value of type int to an unrelated type String. |
Ho bisogno di inviare un numero al click, che cambia di volta in volta, alla classe main. |
|
| Torna in cima |
|
|
nuovobuio
nuovo utente

Registrato: 14/06/09 23:55
Messaggi: 15
|
Oggetto:
Inviato: 24.07.10 | 04:59 |
|
|
risolto.. credo  |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 24.07.10 | 05:04 |
|
|
Sei mattiniero o devi ancora andare a dormire come me?
Hai capito come usare il dispatchEvent? ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
nuovobuio
nuovo utente

Registrato: 14/06/09 23:55
Messaggi: 15
|
Oggetto:
Inviato: 24.07.10 | 05:08 |
|
|
oi, giorno
No ancora devo andare a letto, ho capito come si usa, e lo trovo comodissimo!
Domani se sono ancora convinto del codice, lo posto, magari serve a qualcuno..
 |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 24.07.10 | 05:15 |
|
|
perfetto!
...ma non è come quello che ti abbiamo indicato?
Poi utilizzi il event.target.variabile :) ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
nuovobuio
nuovo utente

Registrato: 14/06/09 23:55
Messaggi: 15
|
Oggetto:
Inviato: 24.07.10 | 20:44 |
|
|
ciao Coach, ho fatto così, in modo tale da poter inviare qualsiasi tipo di variabile:
| Codice: | package
{
import flash.events.Event;
public class CustomEvent extends Event
{
public static const NOME:String = "nomeEvento";
public var dato:*;
public function CustomEvent(tipo:String, dato:*)
{
this.dato = dato;
super(tipo,false,false);
}
}
} |
| Codice: | crea = new Crea(mc)
crea.addEventListener(CustomEvent.NOME,leggi,false,0,true);
dispatchEvent(new CustomEvent(CustomEvent.NOME, nuovoDato )); |
Usando la chiamata e il ricevente dell'evento in qualsiasi classe mi pare, per ora mi sembra buono, se c'è qualcosa che non va dimmi tutto!! |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 27.07.10 | 23:09 |
|
|
Bravo, è pressapoco la stessa cosa :) ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
nuovobuio
nuovo utente

Registrato: 14/06/09 23:55
Messaggi: 15
|
Oggetto:
Inviato: 03.08.10 | 12:17 |
|
|
| Coach ha scritto: | | Bravo, è pressapoco la stessa cosa :) |
Coach ti prego fammi capì sta cosa! Mi sto scemendo!
Per quale motivo se tolgo l'attivazione del dispatchEvent al click del mouse, ma facendola partire direttamente dalla costruttrice non funziona??
Ad inviare invia, ma è come se l'ascoltatore non ascoltasse! E nonostante invii non riceve nulla!
Invio string path alla classe CustomEvent:
| Codice: | private function leggi(path:String):void
{
dispatchEvent(new CustomEvent(CustomEvent.NOME, path ));
} |
la classe lo legge e lo invia ad una classe diversa, l'invio avviene ma il dato non appare nel trace:
| Codice: | private function leggo():void
{
nomi = new EstraiNomi(path);
nomi.addEventListener(CustomEvent.NOME,leggi,false,0,true);
}
private function leggi(e:CustomEvent):void
{
trace("ricevuto "+e.dato);
} |
Perchè????
I passaggi di classe dovrebbe essere questi:
| Citazione: | Main
Elenco
EstraiNomi
CustomEvent
Elenco |
Ma l'ultimo passaggio alla classe elenco non lo traccia! |
|
| Torna in cima |
|
|
nuovobuio
nuovo utente

Registrato: 14/06/09 23:55
Messaggi: 15
|
Oggetto:
Inviato: 03.08.10 | 14:20 |
|
|
bene, ho ricontrollato ancora, non è un problema di percorsi, con gli stessi percorsi fra classi, ma aggiungendo la chiamata del dispatchEvent al MOUSE_DOWN, funziona, se invece chiamo semplicemente la funzione: prova(), non va.. non capisco.. ma non ci vorrà mica un evento per attivare un evento????
 |
|
| Torna in cima |
|
|
theboss
principiante


Registrato: 03/06/06 10:00
Messaggi: 70
|
|
| Torna in cima |
|
|
nuovobuio
nuovo utente

Registrato: 14/06/09 23:55
Messaggi: 15
|
Oggetto:
Inviato: 04.08.10 | 12:05 |
|
|
mi faresti un piccolo esempio?
| Codice: | nomi = new EstraiNomi(mcBt,path);
nomi.addEventListener(CustomEvent.NOME,leggi,false,0,true); |
| Codice: | nuovoDato = path;
dispatchEvent(new CustomEvent(CustomEvent.NOME,nuovoDato )); |
|
|
| Torna in cima |
|
|
|