It is as risky to believe everything, as it is to believe nothing. - Denis Diderot

— [AS3]子swfのイベントリスナーをremoveしたいよ

Posted: Apr 17, 2008, 4:11 pm | Author: cyberryo | Category: Dialy | Tags:


Loaderで読み込んだ、子swfにイベントリスナーを登録してたら、unload();とかnullとかやっても、何故かリスナーが消えてくれない。

Loaderオブジェクトは
[as]loader_obj.unload();
removeChild(loader_obj);
loader_obj = null;[/as]
こんな感じでガベージコレクション発動させているはずなんだけれども。

んなわけで、こうしてみた。これがフツーなの?
子SWFに以下のイベントリスナーを追加。
[as]this.addEventListener(Event.REMOVED_FROM_STAGE,removeFunc);[/as]
[as]function removeFunc (e:Event):void {
removeEventListener(Event.ENTER_FRAME,onEnterFunc);
}[/as]
こうすると親swfで子swfのLoaderオブジェクトをremoveChildしたときにイベント発動。
初めて知ったw
もっとステキな方法があるはずだよね。。。


Facebook Comments