1

AS3 ローダーのクラス unloadAndStop() は、ロード時に SWF のステージ上のすべてをアンロードして停止することを想定していますが、ライブラリ内のオブジェクトも変更します (ステージ上にない場合でも?)。

それを解決するために私の問題を説明します。AS3 アプリケーションに SWF を動的にロードし、applicationDomain と getDefinition を使用してそれらから必要なシンボルを抽出しています。読み込んでいる SWF/FLA のステージは空で、ライブラリにエクスポートされたシンボルしかありません。

問題は、内部にプリコンパイルされたクリップを含むシンボル (私の場合は Partigen エミッターですが、実際には問題ではないと思います) をロードすると発生します。これには、おそらくイベント リスナーまたはタイマーが含まれています。これらのクリップのコードは停止します。クリップの親 SWF をロードしたローダーによって unloadAndStop() が呼び出されると、正常に機能せず、奇妙な動作をします。unloadAndStop() が必要なイベントリスナーをそこから削除すると仮定しましたが、その理由はわかりません (繰り返しますが、ステージにはありません)

これらの事前にコンパイルされたクリップをフィルタリングしたり、実際に何が起こっているかをチェックしたりする独自の種類の unloadAndStop() を作成しますが、unloadAndStop() は API では利用できないことを実行すると確信しています。

この動作を説明できるものは何ですか? 誰でも可能な解決策を考えることができますか? ありがとうございました。

4

1 に答える 1

0

この方法でローダーを作成します。

myLoader.contentLoaderInfo.addEventListener( Event.INIT , myLoaderHandler, false, 0, true);

それはによるいくつかの問題を解決しますunloadAndStop().

于 2012-08-06T03:09:14.677 に答える