En una pelicula SWF con un solo Layer y 2 frames
1. En el primer layer tengo este AS:
Código :
stop();
onEnterFrame = function () {
_global.mcCount = 1+random(6); //Variable que corresponde al MC a cargar
_global.Flag = 0; // NO USAR
_global.mcIntervalo = 10000; //El tiempo que debe transcurrir antes de Cambiar de MC
_root.gotoAndStop(2); //Voy hasta el proximo Frame
};
2. En el segundo frame tengo este otro AS:
Código :
stop();
onEnterFrame = function () {
newMC(); //Cargo un Prime MC
delete ["onEnterFrame"];
};
var intID:Number = setInterval(insNewMC,_global.mcIntervalo); //Intervalo para transicion de MCs
function insNewMC() {
newMC();
}
function newMC() {
//trace("MC"+_global.mcCount);
if (_global.mcCount>=1 and _global.mcCount<=6) { //Valido que los MCs no sean distintos a los que tengo en la Biblioteca
mc.removeMovieClip();
_root.attachMovie("mc"+_global.mcCount,"mc",_root.getNextHighestDepth()); //Cargo el MC de Animacion
mc._x = 0;
mc._y = 0;
mcCounter.removeMovieClip();
_root.attachMovie("mcCounter","mcCounter",_root.getNextHighestDepth()); //Cargo la botonera que contiene los botones de cada MC
mcCounter._x = 0;
mcCounter._y = 507;
mcCounter.gotoAndStop(25);
//trace("Div"+_global.mcCount);
switch (_global.mcCount) { //Este switch permite cambiar en la botonera el Boton correspondiente al MC que esta rodando
case 1 :
mcCounter.gotoAndStop(26);
break;
case 2 :
mcCounter.gotoAndStop(27);
break;
case 3 :
mcCounter.gotoAndStop(28);
break;
case 4 :
mcCounter.gotoAndStop(29);
break;
case 5 :
mcCounter.gotoAndStop(30);
break;
case 6 :
mcCounter.gotoAndStop(31);
break;
}
_global.mcCount = _global.mcCount+1;
}
if (_global.mcCount<1 or _global.mcCount>6) {
_global.mcCount = 1;
}
}
[flash width=990 height=530]http://www.hightech.com.ve/pbnew/slashfiles/flashAnimate.swf[/flash]
Como pueden ver en el Codigo cada MC tarda 10seg
El codigo funciona correctamente cuando hace la transicion. Lo que falta es que cada boton tenga su link al MC correspondiente. Se puede hacer colocandole a cada boton un onRelease que llame de nuevo a insNewMC, pero este afecta el tiempo del MC anterior, me explico mejor... Si tengo cargado un MC el debe cambiar a las 10seg, pero si presiono un boton para cambiar de MC antes de esos 10 seg, el siguiente MC no va a durar 10seg sino que va a tardar los 10seg menos el tiempo que estuvo en el MC anterior...
Bueno espero haberme explicado