Comunidad de diseño web y desarrollo en internet online

COMUNICACION ENTRE DOS SWF'S

Citar            
MensajeEscrito el 05 Sep 2007 04:29 pm
Hola:
-Tengo un menu normal y al pulsar cualquier boton llaman swf's externos a un contenedor (Menu basico y contenedor son swf-1), esto funciona muy bien, el problema es que tengo un menu slider independiente (swf-2) y no puedo hacer que funcionen los vinculos porque estan separados del contenedor que esta en swf-1; ambos swf están montados en dos filas de una tabla hecha en dreamweawer.

-Alguien me ayudo con el tema y me digo que debo manejar codigos "localconnection" investigue y no entiendo muy bien el tema

-El código basico que utilizo en el swf-1 es:

on (release) {
loadMovie("botiquin.swf","contenedor_mc");
}

-Dejo una dirección para que puedan apreciar bien el ejercicio que deseo solucionar.

http://es.geocities.com/terry_foros/


GRACIAS POR LA ATENCIÓN PRESTADA, HASTA PRONTO

Por terry_web

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 05 Sep 2007 04:41 pm
haber por lo que te entendi puedes hacer 2 cosas (posibles soluciones):

1.- creas un "SWF base" en donde cargaran tanto tu MENU PRINCIPAL (SWF-1), MENU SECUNDARIO (SWF-2) y dentro del "SWF base" colocas o creas tu CONTENEDOR (contenedor_mc).

Asi que lo que le pones a cada boton es el siguiente codigo:

on(press){
_root.contenedor_mc.loadMovie("botiquin.swf");
}

2.- la otra opción seria que no utileces un CONTENEDOR, sino que vayas cargando tus SWF externos por niveles....

Por crew

168 de clabLevel



 

Desde el Pais + Largo del Mundo...CHILITO Lindo

firefox
Citar            
MensajeEscrito el 05 Sep 2007 04:53 pm
:? HOLA.... bueno, yo no hago muchas aplicaciones para internet asi que lo que digo podria estas mal.....

tu codigo es el siguiente

on (release) {
loadMovie("botiquin.swf","contenedor_mc");
}

es claro que uno usa el loadMovie para cargar una pelicula N (tu botiquin.swf) en un nivel o en un clip de pelicula especifico (tu contenedor.mc)....ahora....como no indicas la dirección en la que se encuentra tu "botiquin.swf" es porque esta en la misma carpeta que tu documento principal....ahora he aqui lo que no se...y es ...si lo montas a un servidor.....logicamente tu botiquin.swf ya tendria un enlace http....por tanto lo deberias cargar con dicho enlace y no deberias tener problema.....¿me explico ???

saludetes

Diego

Por YHOYO

13 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Sep 2007 05:28 pm
Codigo para el SWF Receptor, el que muestra los SWFs externos

Código :


MyConnection = new LocalConnection();
MyConnection.connect("Control");
//*************************************************************
MyConnection.OprimeBoton = function (valorParam) {
   _root[valorParam].onRelease(); // codigo para simular que se oprimio un boton
}


donde dice onRelease, cambialo por onPress dependiendo de la función que definiste para los botones (onPress o onRelease)

Código para el SWF emisor, el que ejecuta una función de otro SWF

Código :

//*************************************************************
MyConnection = new LocalConnection();
MyConnection.connect("Emisor");
//*************************************************************
Btn1.onPress = function () {
   var Param = "NombreBoton"; // colocar el nombre del boton en el SWF donde se cargan los SWFs
   MyConnection.send("Control", "OprimeBoton", Param);
}

pasas como parametro el nombre de instancia de los botones en el SWF receptor

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 15 Sep 2007 05:20 pm
Hola a todos:
Este problema que quiero solucionar si que ha sido difícil llevo mucho tiempo y nada, "gabynufe" me ayudo mucho entendiendo ciertas cosas pero definitivamente, sigo en problemas, aqui mis inquietudes:
1- El código del swf emisor en que parte va? en el primer frame del escenario, en las acciones del clip de película o en las acciones del botón; igualmente con el swf receptor.
2- En que parte va el código básico:
on (release) {
loadMovie("botiquin.swf","contenedor_mc");
}
- Donde estoy ordenando que me habrá mi película externa en EL CONTENEDOR.
3- Yo estoy utilizando "onRelease" en los códigos, esto esta bien o es mejor "onPress"?????
4- En que parte exacta van los nombres de instancia de los botones????

Por ultimo en el ejemplo del ejercicio que quiero solucionar que esta en la dirección:
http://es.geocities.com/terry_foros/
al pulsar los botones del lado izquierdo estos no cargan bien, me imagino que por ser un hosting publico, POR FAVOR PULSAR VARIAS VECES, hasta que funcione bien, tal vez esta demora a generado confusión en la interpretación del problema, quiero mencionar que las imágenes de la parte de abajo es un menú, este pequeño menú es un swf que esta separado del swf que contiene un menú básico y el CONTENEDOR donde quiero que carguen mis swf externos

GRACIAS POR LA ATENCIÓN PRESTADA Y PIDO DISCULPAS POR HACER PREGUNTAS DE PRONTO BÁSICAS, PERO SOY ALGO NOVATO EN ESTO, HASTA PRONTO.

Por terry_web

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Sep 2007 01:04 pm
El código del swf emisor en que parte va?
En el primer fotograma de la linea de tiempo principal, igualmente para el swf receptor.

En que parte va el código básico:
on (release) {
loadMovie("botiquin.swf","contenedor_mc");
}
en las acciones del botón.


Yo estoy utilizando "onRelease" en los códigos, esto esta bien o es mejor "onPress?
La diferencia entre el Release y Press es que en el Press las acciones se ejecutan justo cuando oprimes el clic, y en el Release se ejecutan hasta que sueltas el boton del ratón, así es que tu decides cuando quieres ejecutar el codigo, yo prefiero "Press".

En que parte exacta van los nombres de instancia de los botones????
Cuando seleccionas el boton o el movieclip, en la ventana de propiedades hay un campo de texto donde capturas el nombre de instancia, debajo de el combo donde seleccionas el tipo de elemento (Movieclip, boton o grafico).

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 17 Sep 2007 04:11 pm
Hola gabynufe y a todos:
No he tenido éxito con la solución de mi problema, adjuntare los códigos que estoy utilizando y la ubicación de los mismos, pienso que es un detalle en el código, el problema.

1- código del swf receptor (donde esta el contenedor):
//*************************************************************
MyConnection.OprimeBoton = function (valorParam) {
_root[valorParam].onRelease(); // codigo para simular que se oprimio un boton
}
a) Este código esta en el primer frame del escenario.
b) El nombre de instancia del contenedor es: contenedor_mc

2- Código de swf emisor (donde esta solo el menú)
//*************************************************************
MyConnection = new LocalConnection();
MyConnection.connect("Emisor");
//*************************************************************
Btn1.onPress = function () {
var Param = "botiquin"; // colocar el nombre del boton en el SWF donde se cargan los SWFs
MyConnection.send("Control", "OprimeBoton", Param);
}
a) Este código esta en el primer frame del escenario.

2.1- Código para llamar a un tercer swf a un contenedor ubicado en el swf receptor
on (release) {
loadMovie("botiquin.swf","contenedor_mc");
}
a) Este código esta en las acciones de botón
b) El botón tiene nombre de instancia "botiquin"

NOTAS:
- Pienso que el problema esta en el swf receptor.
- Cuando preguntaba "En que parte exacta van los nombres de instancia de los botones????", me refiero en que parte dentro del código van los nombres de instancia, yo lo coloque en un solo sitio en el swf emisor:
Btn1.onPress = function () {
var Param = "botiquin"; // colocar el nombre del botón en el SWF donde se cargan los SWFs
- Pienso que este nombre de instancia debería ir también en el código del swf receptor
- Es importante mencionar que todo esto sera la solución a un botón, a la carga de un solo swf externo, son 6 o mas botones (6 o mas cargas de swf externos), lo anterior lo digo porque pienso que el código del swf receptor cambiaría por la cantidad de botones.
- Otra inquietud es:
El nombre de los swf emisor y receptor, no deberían ir en algún lado del los códigos?????

GRACIAS POR LA ATENCIÓN PRESTADA DE TODOS EN ESPECIAL DE GABYNUFE, POR FAVOR LES PIDO AYUDA EN MI PROBLEMA, HASTA PRONTO.

Por terry_web

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Sep 2007 04:48 pm
1- código del swf receptor (donde esta el contenedor) (te faltan dos lineas importantes) y si se coloca en el primer frame de la línea de tiempo principal:

Código :

MyConnection = new LocalConnection();
MyConnection.connect("Control"); 
//*************************************************************
MyConnection.OprimeBoton = function (valorParam) {
   _root[valorParam].onRelease(); // codigo para simular que se oprimio un boton
}

2. Supongamos que en el SWF emisor tienes los botones con el mismo nombre que en el SWF receptor, y que el nombre de cada botón corresponde al nombre del SWF externo que cargas en el contenedor. Por ejemplo en el SWF receptor tienes un boton llamado "botiquin" y abre un SWF externo llamado "botoquin.swf", entonces en tu SWF emisor debes tener un boton llamado "botiquin", el cual abrirá "botiquin.swf" dentro del contenedor que esta en el SWF receptor.

Entonces tienes varios botones en el SWF emisor, supongamos que tienen los siguientes nombres: "botoquin", "geringa", "algodon" (voy a tomar estos nombres como ejemplo, tu solo sustituye los nombres de acuerdo a como los tienes definidos).

el siguiente codigo lo colocas en el primer frame de la línea de tiempo principal del SWF emisor:

Código :

//*************************************************************
MyConnection = new LocalConnection();
MyConnection.connect("Emisor");
//*************************************************************
botiquin.onRelease = geringa.onRelease = algodon.onRelease = function () {
   var Param = this._name; // colocar el nombre del boton en el SWF donde se cargan los SWFs
   MyConnection.send("Control", "OprimeBoton", Param);
}

Es importante que tus botones del SWF emisor estén definidos como movieclip, tengan la funcionalidad de movieclips.
Con el código anterior, se toma el nombre del boton y se manda como parametro, para que se simule que se oprimió el boton con el mismo nombre pero dentro del SWF receptor.

Y puedes agregar todos los botones que desees poniendo el nombre del boton, seguido de la palabra onRelease y un signo de igual "=", antes de la palabra "function"

No es necesario poner el nombre de de los SWFs emisor y receptor en ningún lado, porque la comunicación se hace a través de las conexiones llamadas "Control", y "Emisor", que se definen en los SWF correspondientes, si quieres cambiar el nombre de las conexiones por el nombre de los SWF, puedes hacerlo, pero teniendo en cuenta que los nombres se deben de cambiar en los dos SWFs.

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 17 Sep 2007 06:11 pm
Hola gabynufe:
He seguido todos tus consejos o guías y nada que soluciono el problema, creo que el problema es que los botones son normales, no tienen funcionalidad de clip de película, cada botón es un botón normal dentro de un clip de película, este menú es el desarrollo de una guía de la siguiente dirección:
http://muelalab.com/blog/index.php?s=acordeon
Al final cada imagen la convertí en botón mediante F8

- Si lo expuesto no es el problema entonces no tengo la menor idea de que lo sea.

GABYNUFE AGRADEZCO TU TIEMPO Y TUS RESPUESTAS, HASTA PRONTO

Por terry_web

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Sep 2007 11:41 pm
Pero si en la liga que muestras dice que los tienes que definir como MovieClips...

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7

 

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