A veces tenemos la necesidad de comunicar SWF
s 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
- Este método solo recibe el nombre de la conexión con que será conocida en el otro swf, devuelve true si la conexión tuvo éxito y false y ocurrió algún error.
.close():void
- Este método sirve para cuando ya no se use mas la conexión hecha con Connect() .
.send(nombreDeLaConexion:String,metodoEjecutar:String,[argumentos:Object]):Boolean
- Este es uno de los métodos mas usados de esta clase, se utiliza después de haber hecho la conexión con conect() envía el nombre de la conexión, la función que se va a ejecutar y los argumentos de esta.
Bueno 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.
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Publica tu comentario
El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro
Entra al foro y participa en la discusión
o puedes...
¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?
Inicia sesión
¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?
Registrate