Ti suggerisco l'uso di un file di preload esterno, che a fine caricamento faccia la sostituzione della sua timeline con quella del filmato principale che ha caricato.
Io lo faccio abitualmente e per questo mi sono creato una classe che gestisce questa cosa, anche se devi considerare che utilizzo flashdevelop con progetti as3 e non flex.
Se non sbaglio comunque la classe in questione può essere gestita tranquillamente anche in un mxml come "main class".
Codice PHP:
package {
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.net.URLRequest;
public class StagePreload extends Sprite {
public function StagePreload ():void {
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init (evt:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(new URLRequest("filmato_principale.swf"));
}
private function progress (evt:ProgressEvent):void {
trace ((Math.floor((evt.bytesLoaded/evt.bytesTotal)*100))+"%");
}
private function init (evt:Event):void {
var loader:Loader = evt.target as Loader;
stage.addChildAt (loader.content, stage.numChildren-1);
stage.removeChild (this);
}
}
}
Ovviamente nella funzione progress, al posto del trace ci metti quello che vuoi, una barra di caricamento o un testo a percentuale.