////////////// PASOS ////////////////
1 - Colocar en el palco una imágen que se comportará como un botón;
2 - Dando un F8 la convertimos en un movieclip y la instanciamos con el nombre de mc_animado
Dando un doble click sobre ella entramos en la TL, creamos un nuevo layer y hacemos en él la animación con algún tipo de Motion Tween. Hacemos otro layer y en él colocamos dos stops uno en el primero y otro en el último frame. Lo bautizamos a este último de \"fin\".
3 - Volvemos a la TL principal y seleccionando este MovieClip lo transformamos nuevamente en MovieClip y lo instanciamos como mc_todo.
4 - Con un duplo clique entramos en su TL y creamos un nuevo layer donce colocamos un botón transparente que instanciamos como bnt_trans y volvemos a la TL principal.
5 - En nuestra layer action colocamos este código
mc_todo.btn_trans.addEventListener( MouseEvent.MOUSE_OVER, btn_trans_OVER );
mc_todo.btn_trans.addEventListener( MouseEvent.MOUSE_OUT, btn_trans_OUT );
function btn_trans_OVER( e:MouseEvent ):void
{
mc_todo.mc_animado.addEventListener( Event.ENTER_FRAME, mc_animado_ENTER_FRAME_OVER );
}
function mc_animado_ENTER_FRAME_OVER( e:Event ):void
{
if ( e.target.currentLabel != \\\"fim\\\" )
{
e.target.nextFrame();
}
else
{
e.target.stop();
e.target.removeEventListener( Event.ENTER_FRAME, mc_animado_ENTER_FRAME_OVER );
}
}
function btn_trans_OUT( e:MouseEvent ):void
{
mc_todo.mc_animado.addEventListener( Event.ENTER_FRAME, mc_animado_ENTER_FRAME_OUT );
}
function mc_animado_ENTER_FRAME_OUT( e:Event ):void
{
if (e.target.currentFrame != 1 )
{
e.target.prevFrame();
} else
{
e.target.stop();
e.target.removeEventListener( Event.ENTER_FRAME,mc_animado_ENTER_FRAME_OUT );
}
}
Las funciones responsables por analisar la posición en la TL están genéricas y pueden ser reutilizadas pero las de Enter_Frame no. Hay alguna forma de disminuir un poco mas este código?
Desde ya muchas gracias
