Hola,
no funciona por dos motivos. En primer lugar estás eliminando el evento onMotionChanged donde no corresponde (hay que eliminarlo después de llamar al último Tween), y en segundo lugar, this.time devuelve el tiempo en segundos, pero tienes que pensar que tu animación posiblemente se esté ejecutando a 12 ó 24 fps, luego this.time no te devuelve un valor entero, y es muy probable que nunca coincida exactamente con 5 ó con 6.
Para solucionarlo, puedes hacer que el último parámetro del tween (useSeconds) sea false, de modo que midas el Tween en fotogramas en lugar de segundos. Si por ejemplo tu animación es a 24 fps, entonces en lugar de 10 segundos, le pasas como parámetro 240 fotogramas; el momento exacto de 5 segundos se corresponde con el fotograma 120, y 6 segundos con el 144.
Aquí te pongo cómo sería:
Código ActionScript :
import mx.transitions.Tween;
import mx.transitions.easing.*;
var myTween1:Tween;
var myTween2:Tween;
var myTween3:Tween;
myTween1 = new Tween(MC_1, "_alpha", Regular.easeOut, 0, 100, 240, false);
myTween1.onMotionChanged = function():Void
{
switch(this.time)
{
case 120: //Segundo 5
{
myTween2 = new Tween(MC_2, "_alpha", Regular.easeOut, 0, 100, 240, false);
break;
}
case 144: //Segundo 6
{
myTween3 = new Tween(MC_3, "_alpha", Regular.easeOut, 0, 100, 240, false);
delete(myTween1.onMotionChanged); //Se borra el evento después del último Tween
break;
}
}
}