Ayuda con menú Flash
Buenas, tengo un menú en flash que funciona como un acordeón... se desplegan elementos debajo de los botones y tal. Este es el código:
_root.principal_mc.boton1_btn.onPress = function () {
loader.loadMovie("catalogo.swf");
/*averiguamos en que fotograma está la cabeza
lectora dentro de principal_mc */
var fotoactual = _root.principal_mc._currentframe;
/*preguntar si está en el 15, es decir si
ya se ha presionado antes y están visibles
sus subopciones. Si es así que corra la
película desde allí */
if (fotoactual == 15) {
_root.principal_mc.play();
//de lo contrario que las muestre
} else {
_root.principal_mc.gotoAndPlay(5);
}
} //fin función botón1
_root.principal_mc.boton2_btn.onPress = function () {
loader.loadMovie("descubre.swf");
var fotoactual = _root.principal_mc._currentframe;
if (fotoactual == 15) {
_root.principal_mc.play();
//de lo contrario que las muestre
} else {
_root.principal_mc.gotoAndStop(1);
}
}
_root.principal_mc.boton3_btn.onPress = function () {
loader.loadMovie("recetas.swf");
var fotoactual = _root.principal_mc._currentframe;
if (fotoactual == 15) {
_root.principal_mc.play();
//de lo contrario que las muestre
} else {
_root.principal_mc.gotoAndStop(1);
}
}
_root.principal_mc.boton4_btn.onPress = function () {
loader.loadMovie("contacto.swf");
var fotoactual = _root.principal_mc._currentframe;
if (fotoactual == 15) {
_root.principal_mc.play();
//de lo contrario que las muestre
} else {
_root.principal_mc.gotoAndStop(1);
}
}
_root.principal_mc.boton5_btn.onPress = function () {
loader.loadMovie("empresa.swf");
/*averiguamos en que fotograma está la cabeza
lectora dentro de principal_mc */
var fotoactual = _root.principal_mc._currentframe;
/*preguntar si está en el 15, es decir si
ya se ha presionado antes y están visibles
sus subopciones. Si es así que corra la
película desde allí */
if (fotoactual == 1) {
_root.principal_mc.play();
//de lo contrario que las muestre
} else {
_root.principal_mc.gotoAndPlay(27);
}
if (fotoactual == 15) {
_root.principal_mc.play();
//de lo contrario que las muestre
} else {
_root.principal_mc.gotoAndPlay(27);
}
}
Pues la historia es si me podeis ayudar a meter dos if's dentro de cada botón, para que cuando esté en un fotograma, eche a correr desde ese mismo sitio.
Gracias.
xavib
Esto ya es más abstracto. Habría que tirar del hilo... entiendo que "siga corriendo" quieres decir que vaya del15, 35 ó 27 en adelante, no?
Pon un trace en el if y en el else, a ver si entra donde tiene que entrar y disparando la orden. Quizá hay algo en la condición que no se está cumpliendo, mira si tienes algún stop, actualiza la variable fotoactual dentro del if... (aunque debería hacerlo al presionar boton5_btn), traza la variable en el onpress y en el if... o en lugar de hacer un play() haz un gotoAndPlay(fotoactual+1), así si fotoactual es 15 saltará al 16, etc.
C62
Pero no llega al 27... y no sé porqué.
Gracias de verdad.
C62
Una detallito mas si puedes... ¿como puedo hacer para que la animación siga corriendo? Lo tengo puesto así:
_root.principal_mc.boton5_btn.onPress = function () {
loader.loadMovie("empresa.swf");
var fotoactual = _root.principal_mc._currentframe;
if ( fotoactual == 15 || fotoactual== 35 ) {
_root.principal_mc.play();
} else {
_root.principal_mc.gotoAndPlay(27);
}
}
C62
Ya me tira de puuuta madre!
Mil gracias tio.
xavib
Si lo que quieres es que el if se ejecute cuando ocurra cualquiera entre varias condiciones, tienes que usar:
if( fotoactual == 15 || fotoactual== 1 ){
...
} else {
...
}
¿es eso? No estoy muy seguro de entender la pregunta, pero más que poner dos if se trata de añadir algo llamado "operador lógico" dentro del tuyo. En este caso, has usado el OR (si fotoactual es 15 ó 1, entra)
C62
Me he explicado fatal, resumiendo: ¿Cómo puedo poner dos if? Es que lo intento pero solo me interpreta el primero.
Gracias.
A ver si anima alguien, es que es un poco urgente... sorry por las molestias!