2008/11/27 | 19:40 pm
loadChild() で外部swf をロード
するときの場合です。
基本的には AS3 の Loader() の処理と一緒っぽいです。
多分です。
例えば、子シーンで外部swf をロードする場合 : SceneObject を extends したモノ
private var sp:Sprite;
private var com:LoadChild;
private var isLoading:Boolean = false;
private var childMovieClip:MovieClip;
public function ChildScene( name:String = null, initObject:Object = null ) {
super( name, initObject );
// シーン名 | タイトルの設定
name = "childscene";
title = "HERE IS CHILD SCENE";
}
protected override function _onLoad():void {
// 実行したいコマンドを登録します。
sp = new Sprite();
var req:URLRequest = new URLRequest( "contents/swf/child.swf" );
com = new LoadChild( sp, req );
com.loader.onCastLoadStart = function():void {
isLoading = true;
this.addCommand(
// ローディングの開始アニメーションとか
)
};
com.loader.onCastLoadComplete = function():void {
isLoading = false;
childMovieClip = this.content; // これで、子swf にアクセスさせて、その function を読んだり出来るようにしておきます。
this.addCommand(
new AddChild( progression.container, sp ),
// ローディングの終了アニメーションとか
);
};
com.addEventListener( ProgressEvent.PROGRESS, onProgress );
// com.loader.contentLoaderInfo.addEventListener でも一緒です。
com.execute();
}
private function onProgress( e:ProgressEvent ):void {
var loaded:Number = com.loader.contentLoaderInfo.bytesLoaded;
var total:Number = com.loader.contentLoaderInfo.bytesTotal;
var percent:Number = (loaded / total);
trace( "loading = " + percent ); // ローディング状況を trace() する
};
あとは、 childMovieClip に命令するとか、child.swf のタイムラインにアニメーション作っておくとかで
大丈夫ではないでしょうか。
もっといい方法がある気がしてならない。
そして、殴り書きのメモみたいに簡単でスイマセン。
落ち着いたら、ちゃんと。。。出来たらいいな。。。
CATEGORY
POSTED
jam


COMMENT
0 Comment