0

メインのswfファイル(swf1)にロードするswfファイル(swf2)があります。ボタン(ロードされたswfファイルswf2に格納されている)をクリックすると、swf2の実行を停止し、新しいswf(swf3)をロードする必要があります。

removeChild(loader);を使用しています。

しかし、問題は親(swf1)swfのローダーインです。どうすれば参照できますか?

これが十分な情報ではない場合は申し訳ありませんが、私はここでは実際には専門家ではありません。

ありがとう

4

1 に答える 1

0

私がこれを理解する方法は、swf1 が swf2 をロードしているということです。swf2 にはボタンが含まれており、これを押すと、swf1 が swf2 をアンロードし、swf3 をロードします。

ロードされた swfs とその親の間で通信を行う方法はいくつかあります。1 つの方法 (コンテキストに応じて私が通常使用する方法) は、ロードされた swf に、親がリッスンしてキャッチできるイベントをスローさせることです。この場合、ロードされた swf2 は、親の swf1 がキャッチし、swf2 のアンロード (および swf3 のロード) をトリガーするために使用できる「クローズ」イベントをスローできます。

別の方法として、parent プロパティによって、ロードされた子 swf 内の親 (メインのロード swf、swf1) にアクセスできるかどうかを確認します。ただし、swf2 を別のローダーで再利用する場合、「親」が将来何を参照するかが不明確になる可能性があるため、これを常に推奨できるとは限りません。

ただし、このボタンが子 swfs のロードとアンロードを制御することを意図している場合、ローダー自体に移動する方が理にかなっていますか? これにより、問題も解消されます。

于 2012-12-20T01:08:17.573 に答える