Foros del Web » Creando para Internet » Flash y Actionscript »

error en menu botones desplegables

Estas en el tema de error en menu botones desplegables en el foro de Flash y Actionscript en Foros del Web. Hola, no hay manera de que me salga un menú que estoy haciendo. Cada cosa que retoco va a peor. A ver si me podeis ...
  #1 (permalink)  
Antiguo 15/02/2006, 11:30
 
Fecha de Ingreso: febrero-2006
Mensajes: 39
Antigüedad: 11 años, 9 meses
Puntos: 0
Pregunta error en menu botones desplegables

Hola, no hay manera de que me salga un menú que estoy haciendo. Cada cosa que retoco va a peor. A ver si me podeis ayudar, es bastante lioso...

Consiste en tres botones que se solapan entre ellos como si fueran pestañas. Algo así:
__________ ____ ____
..........b_1 | b_2| b_3|

Por defecto tengo el b_1 desplegado, cuando pase el mouse por el botón b_2, ese se desplegará hacia la derecha, así:
__________ __________ ___
..........b_1 |..........b_2| b_3|

y cuando quite el mouse de encima volvera a plegarse.

Si hago click en el b_2, entonces se ocultará el b_1 y quedará desplegado el b_2:
_____ _________ ____
b_1 |..........b_2| b_3|

Y así con el resto.

La animación la he hecho, teniendo en cuenta todas las opciones posibles en cada estado,y en los inicios de cada animación he puesto una etiqueta en el frame para así hacer referencia a ella en el código.(p.ej:
"comena"-->este para el comienzo de la animación de desplegar el boton 1 cuando el activo (el desplegado) es el 2
"fina"-->este para la animación de plegar el boton 1 cuando el activo (el desplegado) es el 2,
"comb"-->este para el comienzo de la animación de desplegar el boton 2 cuando el activo (el desplegado) es el 1 ,
"comena2"-->este para el comienzo de la animación de desplegar el boton 1 cuando el 3 esta desplegado,
actiua-->estado activo del botón 1, es decir desplegado y el resto plegados
etc.)
Evidentemente, en la línea de tiempo, he puesto al final de las animaciones stop();

En el 1r frame de la capa acciones he puesto el código siguiente:
Cita:
funcionant="a";
proper="";
b_1.onRollOver=function(){
if(funcionant="a"){si el activo es el b_1, es decir desplegado fijo
stop();
}
else if(funcionant="b"){en este caso el b_2
gotoAndPlay("comena");Vaya al comienzo de la animación donde se despliega la pestaña del b_1 cuando el b_2 es el activo, el que esta desplegado
}
else{
gotoAndPlay ("comena2");Vaya al comienzo de la animación donde se despliega la pestaña del b_1 cuando el b_3 es el activo, el que esta desplegado
}
}
b_1.onRollOut=function(){
if (proper != "a"){Si no he pulsado en el b_1 para que sea el activo
if(funcionant="a"){
gotoAndStop("actiua");Vaya y pare en el b_1 activo, desplegado
}
else if(funcionant="b"){
gotoAndPlay("fina");Se pliegue la pestanya del b_1 cuando el b_2 es el activo
}
else{
gotoAndPlay ("fina2");Se pliegue la pestanya del b_1 cuando el b_3 es el activo
}
}
else{stop();}
}
b_1.onRelease=function(){
proper="a";Indica que el siguiente activo será el b_1
if(funcionant="a"){
gotoAndStop("actiua");
funcionant="a"
}
else if(funcionant="b"){
gotoAndPlay("finb");
funcionant="a"
}
else{
gotoAndPlay ("finc");
funcionant="a"
}
}

b_2.onRollOver=function(){
if(funcionant="a"){
gotoAndPlay ("comenb");
}
else if(funcionant="b"){
gotoAndStop("actiub");
}
else{
gotoAndPlay("comenb2");
}
}
b_2.onRollOut=function(){
if (proper != "b"){
if(funcionant="a"){
gotoAndPlay ("finb");
}
else if(funcionant="b"){
gotoAndStop("actiub");
}
else{
gotoAndPlay("finb2");
}
}
else{stop();}
}
b_2.onRelease=function(){
proper="b";
if(funcionant="a"){
gotoAndPlay ("fina");
funcionant="b";
}
else if(funcionant="b"){
gotoAndStop("actiub");
funcionant="b";
}
else{
gotoAndPlay("finc2");
funcionant="b";
}
}

b_3.onRollOver=function(){
if(funcionant="a"){
gotoAndPlay ("comenc");
}
else if(funcionant="b"){
gotoAndPlay("comenc2");
}
else{
gotoAndStop("actiuc");
}
}
b_3.onRollOut=function(){
if (proper != "c"){
if(funcionant="a"){
gotoAndPlay ("finc");
}
else if(funcionant="b"){
gotoAndPlay("finc2");
}
else{
gotoAndStop("actiuc");
}
}
else{stop();}
}
b_3.onRelease=function(){
proper="c";
if(funcionant="a"){
gotoAndPlay ("fina2");
funcionant="c";
}
else if(funcionant="b"){
gotoAndPlay("finb2");
funcionant="c";
}
else{
gotoAndStop("actiuc");
funcionant="c";
}
}
stop();
La animación me va bien pero me falla el hecho de que creo, porque sino no me lo explico, a veces no me guarda el valor de "funcionant" (para saber la que esta desplagada), de modo que, al inicio, una vez ejecuto esta desplagado el b_1, pero a la que paso por cualquier botón(rollover), incluso el 1, se pone desplegado fijo (es decir activo, el que esta funcionando desplegado, como si hubiera pulsado y no lo he hecho) el b_3. Si clicko en el 2 por ejemplo,entonces se me pone bien se despliega el 2 y se oculta el resto pero sio aparto el mouse y le vuelvo a poner en el 2, me hace de nuevo lo mismo, activa el 3 y empieza de nuevo con la animación del 2.

No se si os enterareis de lo que pasa porque así explicado aún es más lioso, pero a ver si alguien puede echarme una mano...

Última edición por elishet; 15/02/2006 a las 11:37
  #2 (permalink)  
Antiguo 15/02/2006, 11:37
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Hola elishet:
Bienvenido al Foro.
En mi página tienes 2 tutores de como hacer un menú desplegable, está en el botón: MENUS, te podría dar una idea de como hacer el tuyo.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 16/02/2006, 07:01
 
Fecha de Ingreso: febrero-2006
Mensajes: 39
Antigüedad: 11 años, 9 meses
Puntos: 0
Gracias Bandit, me he estado mirando los dos tutores, es más o menos como lo hago yo. Pero en los tuyos es solo rollOver y rollOut. Y en mi caso el problema lo tengo con el Release.

En mi caso, la animación en principio me funciona, lo que me falla es cuando que no me guarda la variable de que esta activo ese botón y siempre me pone como actibvo el b_3.

A nadie se le ocurre donde puedo estar fallando, más o menos?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:27.