LocalConnection – interagire con 2 swf

La classe LocalConnection ci permette di fare comunicare 2 swf separati, inviando e ricevendo variabili invocando metodi e funzioni da un filmato all’ altro.

La classe LocalConnection  ci viene in aiuto, pensiamo ad un menu posizionato nel top della pagina che dovrebbe,  senza  aggiornare o cambiare la pagina, comunicare con un swf posizionato in un punto diverso cosi da poter per esempio cambiare  immagini o sezioni.

La base della classe LocalConnection è la seguente:

  • Swf ricevente

1) Creo un’ istanza della classe LocalConnection

2) Definisco un metodo o i metodi che verrano richiamati da altro o altri swf.

3) Invoco  il metodo connect(“id”), dove l’ id è nome univoco che permetterà il collegamento tra i 2 swf

  • Swf che invia i dati

1) Creo un’ istanza della classe LocalConnection

2) Utilizzo il metodo send della classe LocalConnection: send(“idRicevente”, “funzione” , parametri) dove:

idRicevente è l’ id che abbiamo utilizzato per il metodo connect dell’ swf ricevente
funzione è il metodo invocato per comunicare con il filmato ricevente
parametri sono una serie di parametri che invieremo

Andiamo ad analizzare il codice

Codice per l’swf ricevente

// creo l' istanza della classe LocalConnection
var receiving_lc:LocalConnection = new LocalConnection();
// inizializzo un metodo stampa: questo metodo sarà chiamato dall' altro swf
receiving_lc.stampa = function(parametro:Number) {
// stampo il parametro inviato
  trace("ho ricevuto: "+parametro);
};
receiving_lc.connect("idname");

Codice per l’swf che invia i dati

// creo l' istanza della classe LocalConnection
var sending_lc:LocalConnection = new LocalConnection();
// utilizzo il metodo send per invocare il metodo stampa passando i secondi del sistema
sending_lc.send("idname", "stampa", new Date().getSeconds());

Scarica il sorgente
Guarda il Tutorial 

Annunci

3 thoughts on “LocalConnection – interagire con 2 swf

  1. Ciao Julius, volevo farti una piccola domandi sulle local connection…
    Ho collegato due file swf con una local connection. Praticamente uno dei 2 file non parte fino a che l’atro non ha raggiunto un certo punto. Funziona bene, ma su IE6 quando faccio il refresh(F5) della pagina, il secondo swf non parte. Il problema non si verifica su Firefox. Perchèèèèèèèè??????????
    Sapresti aiutarmi…

  2. Le linee di codice sono inserite su frame diversi? ovvero vengono richiamati nello stesso tempo o no?

    Sulla compatibilità tra IE6 e FF non saprei dirti, mi sembra molto strano…

  3. In pratica al frame 50 del mio file “inviante” ho lo script che richiama la connessione e la funzione Play, mentre al primo frame del file “ricevente” ho uno stop e lo script che riceve la connessione. Però su IE6 se faccio il refresh non funziona. Strano!!!

Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...