2010-11-18 3 views
2

私はmain.asにactionscriptクラスを持つswfファイルsample.swfを持っています。このMain.asには、publicとして宣言されたさまざまなオブジェクトがあります。たとえば、クラスMyData(MyData.as内)のオブジェクトmyDataを考えてみましょう。my flexアプリケーションのswfLoaderに読み込まれたswfファイル内でactionscript関数を呼び出す方法は?

swfLoaderを使用してこのSWFファイルをAIRアプリケーションにロードしています。 swfLoader.loaderInfo.contentを使用してmyData.func()にアクセスする方法を知りたい

ありがとうございます。:)

答えて

2

、それは次のようになります。myLoadHandlerEvent.INITイベントのイベントハンドラを(すべてのバイトがロードされたときにSWFがある後COMPLETEINITが発射され、発射されている

function myLoadHandler(e:Event) 
{ 
    MyData(e.target.content.myDataInstance).func(); 
} 

初期化され、メンバーにアクセス可能です)、myDataInstanceは、子SWF内のMyDataインスタンスへのパブリックリファレンスです。

+0

ありがとう@gthmb。貴重な情報を追加するだけです。 MyDataでない場合(このクラスがswfにのみ存在し、flexではない場合)、Object型キャストを使用できます。私もこのObject(swfLoader.content).myDataInstance.func();を試してみました。それも働いた。 – Goje87

0

私は以前これを行っています。私はデータへの正確な経路を思い出すことはできませんが、フレックスでデバッガを使用していることがわかります。ローダのEvent.Completeイベントを追加し、呼び出す関数全体の中にブレークポイントを追加します。次に、swfLoader.loaderInfo.contentを式監視リストに追加し、掘り下げて探しているものを見つけます。パスを書き留めて、テスト関数で呼び出します。あなたのinitハンドラで

関連する問題