最初の数フレームのタイムラインにボタンがあり、それを削除すると...
ボタンがステージから削除された場合、ボタン (ムービークリップ) のイベント リスナーを削除する必要はありますか?
タイムラインでオブジェクトを使用しているにもかかわらず、ドキュメント クラスを作成しています。
最初の数フレームのタイムラインにボタンがあり、それを削除すると...
ボタンがステージから削除された場合、ボタン (ムービークリップ) のイベント リスナーを削除する必要はありますか?
タイムラインでオブジェクトを使用しているにもかかわらず、ドキュメント クラスを作成しています。
removeFromStageイベントを使用して、ボタンインスタンスのイベントリスナーをクリアできます。
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
public class Button extends MovieClip
{
public function Button():void
{
addListeners();
}
private function addListeners():void
{
this.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
this.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
this.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function addedHandler(event:Event):void
{
trace("button added");
}
private function removedHandler(event:Event):void
{
trace("button removed");
removeListeners();
}
private function clickHandler(event:MouseEvent):void
{
trace("button clicked");
}
private function removeListeners():void
{
this.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
this.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
this.removeEventListener(MouseEvent.CLICK, clickHandler);
trace("has added listener: " + this.hasEventListener(Event.ADDED_TO_STAGE));
trace("has removed listener: " + this.hasEventListener(Event.REMOVED_FROM_STAGE));
trace("has click listener: " + this.hasEventListener(MouseEvent.CLICK));
}
}
}