Comunidad de diseño web y desarrollo en internet online

Como pasar parámetros entre swf

Citar            
MensajeEscrito el 23 Jul 2004 05:11 pm
Hola que tal!:
Necesito saber cómo se pueden pasar parámetros entre archivos swf.

De antemano, muchas gracias.

Por valo

10 de clabLevel



 

México

unknown
Citar            
MensajeEscrito el 23 Jul 2004 07:49 pm
Esto es un post que puse en mi blog...

LocalConnection, y olvídate del Javascript

La primera vez que tuve que conectar dos .swf que estaban en diferentes marcos, acudí por enésima vez a la página de Kadazuro y en ella, había un gran tutorial de como conectar dos swf que estan en diferentes marcos.

El tutorial me sacó del problema, pero no dejé de verlo como un engorro pues tenía que usar Javascript. Cada día nos estamos acostumbrando a usar Flash más como un sistema de programación que como una herramienta, la cual necesita ayuda de PHP, ASP o Javascript, aún falta mucho por avanzar, pero que decir que por ejemplo LocalConnection nos puede como mínimo evitar el tedioso uso de Javascript en la comunicación de marcos.

En este ejemplo que es de lo más básico, he puesto en un .swf tres botones, y cuando se clican el otro .swf recoge los datos mediante LocalConnection y nos dice que botón ha sido clicado. Decir que LocalConnection funciona tanto en el mismo marco, como en diferentes, e incluso estando un reproductor Flash y una página web abierta, algo que desde mi punto de vista da mucho juego a la hora de crear Cd's interactivos con acceso a contenidos en la web.

Pero bueno, basta ya de cháchara, y a lo que íbamos...










Descargar el .fla




En el .swf de la derecha nos encontraremos con el siguiente código:





function enviarConex(boton){
conex_sale = new LocalConnection();
conex_sale.send("derecha", "ejecutar", boton);
delete conex_sale;
}

boton1.onPress = function(){
numero_boton = 1;
enviarConex(numero_boton);
}

boton2.onPress = function(){
numero_boton = 2;
enviarConex(numero_boton);
}

boton3.onPress = function(){
numero_boton = 3;
enviarConex(numero_boton);
}






Analicemos esto...

Primero tenemos una función que se llama enviarConex(boton). Como podeis ver, recogemos el número de botón apretado. Con new LocalConnection() creamos la conexión, y con conex_sale.send() enviamos los datos al .swf de la izquierda de la siguiente manera:

conex_sale.send("nombre de la conexión", "método a ejecutar", "parametros");

Por último borramos la conexión.

En el .swf de la izquierda tenemos lo siguiente:






conex_entrante = new LocalConnection();

conex_entrante.ejecutar = function(param) {
nuevo_txt.text = "HAS APRETADO EN EL FLASH DE LA DERECHA EL BOTÓN " + param;
};

conex_entrante.connect("derecha", boton);






De este lo importante es esto:

conex_entrante.connect("derecha");

Cuando la conexión que hay en este .swf conecte con la conexión llamada "derecha", entonces se ejecuta el método "ejecutar". ¿Porqué "ejecutar" y no otro? En la conexión del .swf de la derecha hemos puesto mediante .send() que método deseabamos ejecutar, acordaos:

conex_sale.send("nombre de la conexión", "método a ejecutar", "parametros");

Una vez hecho esto, la función recoge los parámetros mediante "function (param)" y ya podemos poner nuestro texto en la respectiva caja.

Hay que tener en cuenta, que nosotros podemos tener todos los métodos que queramos, y cuando hagamos el .send(), ejecutar la que nos venga bien en determinado momento...

En fin, nada más por hoy, ya nos veremos...

C'yaaa.

Aquí tienes el .fla para descargar...

http://www.elecash.org/blog/descargas/conex.zip

Supongo que te ira de perlas ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

unknown
Citar            
MensajeEscrito el 23 Jul 2004 09:12 pm
Gracias, me fue muy útil!!!!

Por valo

10 de clabLevel



 

México

unknown
Citar            
MensajeEscrito el 13 Jul 2011 02:50 pm
Buenos días... Sabes ahora si hay alguna otra forma para conectar dos SWF? es que ésta me sirve pero generalmente me saca unos errores de "El objeto ya está conectado" ó "No se puede desconectar el objeto porque ya está desconectado" he intentado con "FlexGlobals" y "SystemManager" pero lo raro es que me funciona en un computador y cuándo lo voy a ensayar en otro simplemente me saca error y no me deja avanzar... Todo ésto es en Flash Builder 4... Gracias

Por MaCMol_

1 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.