0

ゲーム (.swf) とミニゲーム (.swf) の 2 つの ActionScript 3 プロジェクトがあります。実行時に、メイン ゲームはローダーを介してミニゲームをロードします。また、両方に含まれるイベント クラスの共有ライブラリ (SWC) もあります。ミニゲームはディスパッチする必要があり、ゲームはリッスンする必要があります。

最初:これはこのように可能ですか?

2 番目: ミニゲームをコンパイルし、イベント クラスを変更して互換性をなくし、メイン ゲームをコンパイルするとどうなりますか。ミニゲーム SWF を読み込もうとすると Flash がクラッシュしますか? (そうだといい)

3 番目: イベント クラスを変更するとどうなりますか? ただし、インターフェイス レベルの互換性を維持する方法で変更するとどうなりますか?

4

1 に答える 1

0

同じ名前のクラスがあり、同じ機能を共有していない場合は、それぞれに異なるクラス パスを使用するだけです (つまり、com.game.* com.minigame.*)。これにより、すべての競合が回避されます。

基本的に、複数の SWF で同じ名前のクラスがある場合、最初にロードされたものだけが使用されます。

一方、本当に両方の SWF 間で同じクラスを共有したい場合は、それらをメインの SWF にのみ含めるようにしてください (Flash IDE のパブリッシュ設定または Flex のコンパイラ設定で含める/除外を選択できます)。 SDK)。これにより、読み込みプロセス全体が少し軽くなり、競合に関連する奇妙なバグを回避できます。

于 2010-04-02T13:43:03.880 に答える