El clip consta de 96 frames con un stop(); en los frames 1, 24, 48, 72 y 96. El código es el siguiente:
Código ActionScript :
//variables para manejo de la 1º sección
var abrirSec1:Number = 2;
var ultimoSec1:Number = 24;
var cerrarSec1:Number = 25;
//variables para manejo de la 2º sección
var abrirSec2:Number = 49;
var ultimoSec2:Number = 72;
var cerrarSec2:Number = 73;
//Funcion abrir para el boton 1
function abrirBoton1(e:Event) : void
{
if (this.currentFrame == 1)
{
gotoAndPlay(abrirSec1);
}
if (this.currentFrame == ultimoSec2)
{
gotoAndPlay(cerrarSec2);
gotoAndPlay(abrirSec1);
}
}
//Funcion abrir para el boton 2
function abrirBoton2(e:Event) : void
{
if (this.currentFrame == 1)
{
gotoAndPlay(abrirSec2);
}
if (this.currentFrame == ultimoSec1)
{
gotoAndPlay(cerrarSec1);
gotoAndPlay(abrirSec2);
}
}
//Listeners
boton1.addEventListener(MouseEvent.CLICK, abrirBoton1);
boton2.addEventListener(MouseEvent.CLICK, abrirBoton2);
Basicamente tenemos un escenario con dos botones que abren dos secciones distintas del clip, si pulsamos en el boton 1 se abre la 1ª sección, si volvemos a pulsar ese botón no ocurre nada, ahora bien, si pulsamos en el boton 2 estando abierta la sección 1, pues ésta se cierra y se debe de abrir la sección 2.
La sección 2 tiene el mismo comportamiento que la 1, si estando abierta la seccion 2 pulsamos el botón 2, no pasa nada, pero si pulsamos en 1, la sección 2 se cierra y se abre la sección 1.
¿Que es lo que me occurre con mi código actual?, que estando en el frame 1, si pulsamos el boton 1 se abre la sección 1, pero si pulsamos el botón 2, no se cierra la sección 1, sino que se sitúa en el frame 1 y abre la sección 2.
Simplificando, nunca entra en el segundo if de cada function, se comporta como si cada vez que pulsáramos un botón, lo hiciéramos desde el frame 1, cuando realmente los botones los podemos pulsar desde los frames 1, 24 y 49.
Un saludo.
