外部swfをロードして表示するクラスのインスタンスを取得しようとしています。1) Loader クラスを使用して外部 swf "loadExtSWF" をロードするクラスを作成しました。2) ドキュメント クラス「MainSWF.as」を使用する「MainSWF.fla」という名前のフラがあります。3) 「loadExtSWF」をインスタンス化し、loadExtSWF.startLoad を呼び出して swf をロードする MainSWF.as ファイルがあります。
これはほとんど機能します。loadExtSWF のインスタンスは外部の swf をロードしますが、swf は表示されません。
fla のドキュメント クラスを MainSWF の代わりに loadExtSWF (これには空のコンストラクターがあります) に置き換え、loadExtSWF.startLoad を実行すると、外部 SWF が読み込まれて表示されます。
私が最初に行った方法では、swf を間違ったステージ (?) にロードしているようです。
何か案は?助けてくれてありがとう。
さようなら、ラーム
PS
test_tsscreen のドキュメント クラスを test_tsscreen.as から TSScreen.as に置き換え、test_tsscreen のコンストラクター内のコメントを削除すると、swf が読み込まれます。
私のコードは次のとおりです。
ファイル test_as3.swf
外部 as3 swf ファイル。
ファイル test_tsscreen.fla
fla は空で、ドキュメント クラスとして test_tsscreen.as を参照します。
ファイル test_tsscreen.as
package {
import flash.display.MovieClip;
import TSScreen;
public class test_tsscreen extends MovieClip{
var tsScreen1;
public function test_tsscreen(){
// var tsScreen1:TSScreen = new TSScreen(10,10,100,100,0.5,0);
var tsScreen1:TSScreen = new TSScreen();
tsScreen1.startLoad(this.stage);
}
}
}
ファイル TSScreen.as
package {
import flash.display.MovieClip;
import flash.display.*;
import flash.net.URLRequest;
import flash.system.ApplicationDomain;
import flash.system.LoaderContext;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;
public class TSScreen extends MovieClip implements ITSScreenable{
public function TSScreen():void{
// startLoad(this); //Look important comment in above text
}
function startLoad(_this:Stage) {
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest("test_as3.swf");
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
_this.parent.addChild(mLoader);
mLoader.load(mRequest);
trace(this.name);
trace(_this.name);
}
function onCompleteHandler(loadEvent:Event) {
addChild(loadEvent.currentTarget.content);
}
function onProgressHandler(mProgress:ProgressEvent) {
var percent:Number = mProgress.bytesLoaded/mProgress.bytesTotal;
trace(percent);
}
}
}