まず、あなたのコンテンツが、それは負荷だ完了したときをリッスンする必要があります - あなたはコンテンツがそれまで持っているどのように多くのフレームを知ることができませんよう。
次に、ロードされたコンテンツのタイムラインがいつ再生されたかを把握する必要があります。
次は、何が起こっているのかを説明するコメントを含むコード例です。
stop();
var myLoader:Loader = new Loader();
var url:URLRequest = new URLRequest("jenissendi.swf");
//before you load, listen for the complete event on the contentLoaderInfo object of your loader
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, contentLoaded, false, 0, true);
myLoader.load(url);
addChild(myLoader);
//this function runs when the content is fully loaded
function contentLoaded(e:Event):void {
var loadedSwf:MovieClip = myLoader.content as MovieClip; //this is the main timeline of the loaded content
loadedSwf.addFrameScript(loadedSwf.totalFrames - 1, contentFinished);
//the line above tells the movie clip to run the function 'contentFinished' when it reaches the last frame.
}
//this function runs when the loaded content reaches it's last frame
function contentFinished():void {
//clean up to avoid memory leaks
removeChild(myLoader);
loadedSwf.addFrameScript(loadedSwf.totalFrames - 1, null);
nextScene();
}
addFrameScriptには微妙な違いがあります。まず、フレーム番号を0として読み込むことです。つまり、最初のフレームはフレーム0です。そのため、最後のフレームを取得するために、合計フレームから1を引いています。次に、addFrameScriptはドキュメント化されていない機能です。これは、将来、Flash Player/AIRリリースがもう動作しなくなる可能性があることを意味します。 メモリリークを防ぐために、(関数としてnullを渡すことによって)フレームスクリプトを削除することも非常に重要です。
次のシーンは、メインの.flaファイルの次のシーンを意味します –
あなたはそれを把握しましたか? – BadFeelingAboutThis