2011-11-07 18 views
1

私はラッパーアプリを使ってリモートSWFをダウンロードし、Xoomタブレットに保存しています。ダウンロードして、私のロードされたSWFに私がしようとすると「メイン」のヌルから「ステージ」を呼び出す場合ように細かいが、ロードされたSWFに標的とするAS3 Air on Android - SWFを独自のMain()としてロード

var file:File = File.applicationStorageDirectory.resolvePath("app.swf"); 
var loader:Loader = new Loader(); 
loader.load(new URLRequest(file.url)/*,context needed?*/); 
_main.addChild(loader); 

ネジのようなものを使って作品を保存します。ロードされたSWFには、自分自身でインストールしたのと同じように読み込んで実行するサンドボックスがあるので、そうは思われません。これがデスクトップアプリの場合は、NativeWindowを使用できますが、モバイルデバイスではまだサポートされていません。パスとルートが元のままの独自のサンドボックスにロードして実行できる既知のオプションはありますか?おそらく、それは私のラッパーswfから別のswfとして起動するコマンドですか?

+0

は、ロードされたswf 'Main'コンストラクタまたは' Event.ADDED_TO_STAGE'ハンドラ内で 'stage'が呼び出されますか? – www0z0k

+0

はいステージがライブ後に呼び出されます。 –

答えて

1

私はより多くの問題に遭遇しましたが、最終的には正しい方法を見つけました。あなたは「ファイル」を信じていませんが、うまくいきます。

function getSWF():void 
{ 
var request:URLRequest = new URLRequest("child.swf"); 
var loader:Loader = new Loader(); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler); 
loader.load(request); 
_main.addChild(loader);// _main is my display sprite 
} 

function loadHandler(event:Event):void 
{ 
    var childSwf:Object = event.target.content; 
    childSwf.init(PARAMS);// in my case I needed to pass XML but this is any method in the Main of the child swf, note that "stage" is read only, so your parent swf needs to set any stage vars you need 
} 
関連する問題