Comunidad de diseño web y desarrollo en internet online

varios botones play/pause música

Citar            
MensajeEscrito el 26 Mar 2009 12:59 pm
Estoy investigando el asunto de los swfs que se pasan variables entre si y llevo varios días buscando en internet pero, aunque he encontrado mucha información, no encuentro nada que realmente me ayude con mi problema.

El caso es que tengo una web que consta de varias secciones colocadas en varios htmls. Cada uno de estos htmls tiene una cabecera, y cada cabecera un botón que enciende o apaga la música. Lo que quiero es simplemente que, si estoy en una sección y apago la música, al pasar a otra siga apagada, que no se encienda al cargar el nuevo swf. He probado con LocalConnection, con un archivo AS externo al que le pongo una variable boleana a la que intento cambiar el valor desde los swfs... pero nada me funciona.

¿es algo tan dificil o soy yo una torpe?

Por annna

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Mar 2009 08:47 pm
tienes varios html al mismo tiempo? o desde un html mandas a llamar a otro html, y asi se navega?
Puede que tu necesites usar sharedObjects

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 27 Mar 2009 08:27 am

Por annna

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Mar 2009 07:27 pm
No necesariamente en el mismo html, pueden estar en diferentes html sobre el mismo navegador.

Es igual abres la conexion, el swf que captura la coneccion la procesa y ejecutas una funcion dentro de ese, te recomiendo que hagas pruebas

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 30 Mar 2009 07:57 am
A lo mejor estoy haciendo algo mal, pero creo que esto de LocalConnection tampoco me funciona. Colocados los 2 swf en el mismo html como viene en el ejemplo si que interactuan; pero cuando pongo uno en un html y desde ese html abro otro html, en _self, con el segundo swf ahí ya no me coge la variable. Imagino que al "no exisitir" ese segundo swf en el momento en el que estás pasando variables con el primero no se entera de lo que está pasando y cuando aparece no hace nada de nada. (desesperante :cry: )

Por annna

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Mar 2009 08:06 pm
Exactamente, no te da la variable porque ya dejo de existir uno y el otro apenas se esta creando, por eso te mencionaba lo de usar sharedObjects

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 31 Mar 2009 11:41 am
Vale LongeVie, creo que con esto de los sharedObjets ya estoy en el buen camino, pero no termino de llegar. He creado 2 htmls (01.html y 02.html). Ambos tienen un link que enlaza con el otro (el 01 lleva al 02 y el 02 al 01). He colocado en cada uno de ellos una copia de un swf que contiene este código:


Fotograma 1 - rotulo off:

newContenedor = SharedObject.getLocal("MyCookie");
if (newContenedor.data.presentacion == undefined) {
contenedor = SharedObject.getLocal("MyCookie");
contenedor.data.presentacion = "si";
contenedor.data.fechaDeIngreso = new Date(Date.UTC());
contenedor.flush();
delete contenedor;
} else {
gotoAndPlay("on");
}
stop();


Fotograma 2 - rotulo on:

visualizarObjetoShared = function (obj) {
for (var o in obj) {
trace(o+" <=========== > "+obj[o]);
}
};
visualizarObjetoShared(newContenedor.data);
stop();


Botón off (en fotograma 1):

on (release) {
gotoAndPlay("on");
}


Botón on (en fotograma 2):

on (release) {
this.newContenedor.clear();
gotoAndPlay("on");
}



Simplemente quiero que el estado en el que esté (on/off) se mantenga al pasar de un html a otro. ¿Qué estoy haciendo mal?

Por annna

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Abr 2009 04:19 am
Hola, prueba asi:

Fotograma 1

Código ActionScript :

stop();
fijarEstado( obtenerEstado() );

function fijarEstado( aux:String )
{
   var disco_so:SharedObject;
   disco_so = SharedObject.getLocal("datos");
   disco_so.data.estado = aux;
   disco_so.flush();
   gotoAndStop( aux );
}
function obtenerEstado( Void ):String
{
   var disco_so:SharedObject;
   disco_so = SharedObject.getLocal("datos");
   var estado:String = disco_so.data.estado;
   delete disco_so;
   return estado == undefined ? "off" : estado ;
}


Botón que enciende (en fotograma 1):

Código ActionScript :

on (release) 
{
   fijarEstado( "on" );
}


Botón que apaga (en fotograma 2):

Código ActionScript :

on (release) 
{
   fijarEstado( "off" );
}

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 01 Abr 2009 04:21 am
Aunque lo mas recomendable es que tengas 2 fotogramas, el primero sea de declaraciones, el segundo sea el estado off y el tercero el estado on, y tengas una capa de acciones.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 06 Abr 2009 07:31 am
mmmmm... parece que sí que funciona, pero no del todo bien. creo que falla cuando le das demasiado deprisa, que a lo mejor no le da tiempo a leer el código (aunque nunca me habia pasado nada parecido, códigos mucho más largos se me interpretaban en milesimas de segundos, no sé si será eso).

Por annna

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Abr 2009 02:11 am
En teoria, cualquier comunicacion tiene un tiempo de espera y progreso, podrias restringir al usuario para que no pueda presionar demaciado rapido el boton con un intervalo de espera que coloca enabled = false o true

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

msie7
Citar            
MensajeEscrito el 08 Abr 2009 12:56 pm
me parece buena solución, a ver que tal se me da.

muchas gracias

Por annna

46 de clabLevel



 

firefox

 

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