Código ActionScript :
fotosBt.addEventListener(MouseEvent.CLICK, fotosClick);
function fotosClick(e:MouseEvent) {
if (fotosBt.activo) {
trace("contraer fotos");
contraerFotos();
fotosBt.activo=false;
} else {
trace("expandir fotos");
fotosBt.activo=true;
expandirFotos();
}
}
function expandirFotos():void {
slide.visible = true
var mInt:uint=2000;
mTimer.addEventListener(TimerEvent.TIMER, fTimer);
mTimer.start();
function fTimer(e:TimerEvent):void {
TweenMax.to(slide,.5, {alpha:0,onComplete:avanzarFoto,delay:0});
}
}
function avanzarFoto() {
if (slide.currentFrame<slide.totalFrames) {
slide.nextFrame();
} else {
slide.gotoAndStop(1);
}
TweenMax.to(slide, .5, {alpha:1});
}
function contraerFotos():void {
slide.visible=false;
slide.gotoAndStop(1)
mTimer.stop()
}
El funcionamiento es el siguiente, el boton llamado fotosBt hace visibe a slide, que es un movieclip con un determinado numero de fotos y a la vez inicia un Timer que cada 2 segundos a traves de un tween que despues de terminaruna animacion de alpha a 0 llama a avanzarFoto.
Hasta aquí todo perfecto, el problema está en la funcion avanzarFoto ya que esta lo que tiene que hacer es avanzar un frame para cambiar de foto en el caso de que no se encuentre en el ultimo fotograma, que en ese caso lo lleva de nuevo al fotograma 1, acompañado siempre de un tween que cambia el alpha de 0 a 1 de nuevo para que las fotos aparezcan y desaparezcan suavemente siempre. La cuestión es que esto tambien funciona perfecto la primera vez que le apreto al boton fotosBt, pero si le vuelvo a apretar (para ocultar el mc slide) y luego le vuelvo a apretar (again) para mostrar el clip.... lo que sucede es que no hace el nextFrame y ejecuta solo el Tween por lo que se queda el slide siempre en el mismo fotograma apareciendo y desapareciendo...
La verdad es que no entiendo porqué sucede esto, si alguién me pudiese hechar una mano estaria bastante agradecido. Un saludo!
