voy a explicar mejor la situacion, tengo unos clips, digamos 3 (los llamaremos: miClip, caja, y triangulo (soy malo para los nombres
)) cada uno tiene una animacion y asumiremos que todos estan en el stage (aunque en realidad los jalo desde el codigo y con eso no tengo lio), el objetivo es que cuando cargue arranque la animcion de miClip y al llegar al final se detenga, eso es controlado por el click en un boton, luego, con otro boton, miClip se rebobinara, osea va en reversa y justo cuando llegue al primer fotograma arranca la animacion del segundo (caja) y se detiene en el ultimo frame, de nuevo con el boton caja se va en reversa y cuando llega al primer fotograma arranca triangulo, ahora pues, el codigo lo dividi en dos funciones, una para arrancar y otra para salir, lo hice asi por que no se me ocurrio como llamar una funcion desde ella misma cuando finalice el movimiento de cada clip, entonces la primera funcion es la siguiente
Código ActionScript :
miClip.stop();
miBtnIN.addEventListener(MouseEvent.CLICK,entrada);
function entrada(e:MouseEvent):void
{
miClip.addEventListener(Event.ENTER_FRAME,entrar);
}
function entrar(event:Event):void
{
if (miClip.currentFrame == miClip.totalFrames)
{
miClip.stop();
miClip.removeEventListener(Event.ENTER_FRAME,entrar);
}
else
{
miClip.nextFrame();
}
}
y funciona correcto, ahora la segunda funcion
Código ActionScript :
miBtnOUT.addEventListener(MouseEvent.CLICK,salida);
function salida(e:MouseEvent):void
{
miClip.addEventListener(Event.ENTER_FRAME,out);
}
function out(event:Event):void
{
if (miClip.currentFrame == 1)
{
miClip.stop();
miClip.removeEventListener(Event.ENTER_FRAME,out);
}
else
{
miClip.prevFrame();
}
}
y tambien funciona, ahora, mi precaria logica me indica que cuando el condicional
Código ActionScript :
if (miClip.currentFrame == 1)
{
miClip.stop();
miClip.removeEventListener(Event.ENTER_FRAME,out);
}
se cumpla debe llamar la funcion entrada () y hacerlo con el objeto caja y no con miCLip, ahi es donde estoy patinando