Por: Wanaya + Otros tutoriales de Wanaya + 6 de Febrero del 2006
A veces tenemos la necesidad de comunicar SWFs que no estén uno dentro de otro, es decir en lugares diferentes. En este tutorial veremos cómo hacerlo.
Usaremos LocalConnection, una clase de flash que sirve precisamente para esto, enviar información a otro SWF sin necesidad de usar los fscommand que tanto nos complican la vida.
Usaremos los siguientes métodos de la clase LocalConnection:
.connect(nombreDeLaConexion:String):Bolean.close():void.send(nombreDeLaConexion:String,metodoEjecutar:String,[argumentos:Object]):BooleanBueno haremos una pequeña conexión que enviará una variable y la sumará en el otro swf.
Código del swf que enviará datos:
//creamos la conexión var enviar_lc:LocalConnection = new LocalConnection(); //la variable var dato:Number=1; boton.onPress=function(){ //enviamos los parámetros correctos, ya mencionados arriba. enviar_lc.send("nombreCX","metodo",dato); }
Código del swf que los recibe:
//creamos una caja de texto donde veremos los resultados de la conexión this.createTextField("resultado_txt", 1, 10, 10, 100, 22); result_txt.border = true; //creamos la variable de conexión donde recibiremos los datos var recibir_lc:LocalConnection = new LocalConnection(); //en el método "metodo" se ejecutara con los parámetros que se envían //desde el otro swf recibir_lc.metodo = function(argum1:Number) { //convertimos el valor que hay en la caja de texto a tipo numérico aux=int(resultado_txt.text); //el valor que teniamos en la caja de texto le sumamos el argumento pasado aux+=argum1; //lo mostramos resultado_txt.text = aux; }; //hacemos la conexion. recibir_lc.connect("nombreCX");
Nota: El SWF que envia datos debe de tener un botón con el nombre de instancia: “boton”
Verán que la variable que se envia de un swf se suma a la que esta en el otro swf.
Ejemplo del tutorial
Archivos del tutorial
Si tienes alguna pregunta de este tutorial; puedes hacerla aqui en los foros