2

誰かが私を助けてくれることを本当に望んでいます!私はフラッシュAS3でプロジェクトを構築し、必要なことはすべて実行しましたが、ゲームを構築しようとすると、AS3でグローバル変数を書くことに頭がつかなかったので、簡単にできると思ってAS2で書きましたSWF (ゲーム) ファイルを AS3 (メイン プロジェクト) に呼び出し、ゲーム ファイル内のコードを逆にして、メニュー ボタンが選択されたときにメイン プロジェクトに戻るコード。私はこのコードを使用しました:

stop()
var ld:Loader = new Loader()
ld.load(new URLRequest("game.swf"))
addChild(ld)

AS3 プロジェクト内の SWF ゲーム ファイルを呼び出します。ただし、AS2 ファイル内でこれを元に戻そうとすると、AS3 プロジェクトを再度開くことはできませんか?

誰か助けてください:( xxxx

4

2 に答える 2

0

これは、AVM1 と AVM2 (Adobe Virtual Machine) の問題です。AVM1 は AS2、AVM2 は AS3 です。残念ながら、AS2 で AS3 を実行することはできません。AS3 では AS2 のみを実行できます。そして、彼らは通信しません(私は試しました)。それらを相互に通信させるためにできる唯一のことは、親 AS3 とロードされた AS2 の間のローカル接続を開くことです。ルートまたはグローバル変数への可視性は得られず、localConnection を介して渡されるものだけが得られます。

すべての AS3 を使用して、代わりにアプリ全体に公開するデータを使用して public static モデル クラスを作成することをお勧めします。

幸運を。

于 2012-11-28T18:51:29.923 に答える
0

Gone3D が言うように、LocalConnection を使用して、メインの AS3 SWF とロードされた AS2 SWF の間で呼び出しを行うことができます。そのためには、Grant Skinners SWFBridge を使用することをお勧めします。

http://gskinner.com/blog/archives/2007/07/swfbridge_easie.html

于 2012-11-28T19:51:36.873 に答える