Código ActionScript :
stop();
// Código para manejo de las secciones
// Variables globales
var estado:int = 0;
// Listeners de los botones
boton1.addEventListener(MouseEvent.CLICK, control(1));
boton2.addEventListener(MouseEvent.CLICK, control(2));
boton3.addEventListener(MouseEvent.CLICK, control(3));
boton4.addEventListener(MouseEvent.CLICK, control(4));
boton5.addEventListener(MouseEvent.CLICK, control(5));
boton6.addEventListener(MouseEvent.CLICK, control(6));
// Función abrir, cuyo parámetro aux indica el botón que hemos pulsado
function control(aux:int)
{
if (estado == 0)
{
// Switch para acceder a la sección correspondiente
switch (aux)
{
// En cada uno de los case se llama a la función abrir
// y además asignamos a estado el valor entero correspondiente a la sección
case(1):
abrir(aux);
estado = aux;
break;
case(2):
abrir(aux);
estado = aux;
break;
case(3):
abrir(aux);
estado = aux;
break;
case(4):
abrir(aux);
estado = aux;
break;
case(5):
abrir(aux);
estado = aux;
break;
case(6):
abrir(aux);
estado = aux;
break;
}
}
else
{
// Switch para acceder a la sección correspondiente
switch (aux)
{
// En cada uno de los case se llama a la función abrir
// y además asignamos a estado el valor entero correspondiente a la sección
case(1):
cerrar(aux);
abrir(aux);
estado = aux;
break;
case(2):
cerrar(aux);
abrir(aux);
estado = aux;
break;
case(3):
cerrar(aux);
abrir(aux);
estado = aux;
break;
case(4):
cerrar(aux);
abrir(aux);
estado = aux;
break;
case(5):
cerrar(aux);
abrir(aux);
estado = aux;
break;
case(6):
cerrar(aux);
abrir(aux);
estado = aux;
break;
}
}
}
// Función abrir, cuyo parámetro indica que sección hay que abrir
function abrir(aux2:int)
{
// Switch para mover a la sección correspondiente
switch (aux2)
{
case(1):
// Incrementamos el valor de la posción X de la sección hasta 600
while (sec1.x < 600)
{
sec1.x = sec1.x + 3;
}
break;
case(2):
while (sec2.x < 600)
{
sec2.x = sec2.x + 3;
}
break;
case(3):
while (sec3.x < 600)
{
sec3.x = sec3.x + 3;
}
break;
case(4):
while (sec4.x < 600)
{
sec4.x = sec4.x + 3;
}
break;
case(5):
while (sec5.x < 600)
{
sec5.x = sec5.x + 3;
}
break;
case(6):
while (sec6.x < 600)
{
sec6.x = sec6.x + 3;
}
break;
}
}
// Función cerrar, cuyo parámetro incida la sección que hay que cerrar
function cerrar(aux3:int)
{
// Switch para mover a la sección correspondiente
switch (aux3)
{
case(1):
// Decrementamos el valor de la posción X de la sección hasta 23
while (sec1.x > 23)
{
sec1.x = sec1.x - 3;
}
break;
case(2):
while (sec2.x > 23)
{
sec2.x = sec2.x - 3;
}
break;
case(3):
while (sec3.x > 23)
{
sec3.x = sec3.x - 3;
}
break;
case(4):
while (sec4.x > 23)
{
sec4.x = sec4.x - 3;
}
break;
case(5):
while (sec5.x > 23)
{
sec5.x = sec5.x - 3;
}
break;
case(6):
while (sec6.x > 23)
{
sec6.x = sec6.x - 3;
}
break;
}
}El resultado de este código me da el siguiente fallo, que no se donde está para poder corregirlo:
TypeError: Error #2007: El valor del parámetro listener debe ser distinto de null.
at flash.events::EventDispatcher/addEventListener()
at agesto_fla::MainTimeline/frame49()
