外部swfファイルを親ファイルに読み込む場合は、LoadChildまたはLoadChildAtクラスで読み込みます。
同ドメイン上にあるファイルであれば以下のようにして読み込むことができました。
後で、UnloadできるようにLoadChild直後this.latestDataをloadDataに格納してます。
サンプル | ソース
同ドメイン上にあるファイルであれば以下のようにして読み込むことができました。
SOURCE:
package myproject.pages.contents{
import jp.progression.casts.*;
import jp.progression.commands.*;
import jp.progression.events.*;
import jp.progression.loader.*;
import jp.progression.*;
import jp.progression.scenes.*;
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.Loader;
import flash.net.URLRequest;
import myproject.assets.*;
/*======================================================================*//**
* Contents1Page
*/
public class Contents1Page extends CastSprite {
private var swfURL:String = "content1.swf";
private var _container:Sprite = new Sprite();
private var _loader:MovieClip;
private var loadData:Loader;
/*======================================================================*//**
* コンストラクタ
*/
public function Contents1Page( initObject:Object = null ) {
super( initObject );
_loader = new CtsLoader();
}
protected override function _onCastAdded():void {
addCommand(
new LoadChild( _container, new URLRequest( swfURL ), {
loader: {
x:0,
y:0,
onCastLoadStart:loadStartHandler,
onCastLoadComplete:loadCompleteHandler
}
} ),
function ():void {
loadData = this.latestData;
}
);
}
protected override function _onCastRemoved():void {
addCommand(
new UnloadChild( _container, loadData ),
new RemoveChild(this, _container)
);
}
////////////////////////////////////////////////// ロードスタート
private function loadStartHandler():void {
addCommand(
new AddChild(this, _loader)
);
}
////////////////////////////////////////////////// ロード完了
private function loadCompleteHandler():void {
addCommand(
new RemoveChild(this, _loader),
new AddChild(this, _container)
);
}
}
}
後で、UnloadできるようにLoadChild直後this.latestDataをloadDataに格納してます。
サンプル | ソース


コメントする