今日、コーディング中に奇妙なことを発見しました。今日私に起こったことの説明を見つけることができませんでした。
ボタンを作成し、それに EventListener を追加しました。
private function drawButtons():void{
survivorModeBtn = new SurvivorModeBtn();
trace("I registered Event Listener with button here");
survivorModeBtn.addEventListener(MouseEvent.CLICK,onSurvivorModeBtnClick);
addChild(survivorModeBtn);
}
private function onSurvivorModeBtnClick(e:MouseEvent):void{
trace("I clicked on btn here");
//I will dispatch event here which runs second part of code
mainMenuViewEvent = new MainMenuViewEvent("onSurvivorModeIsClicked");
hideButtons();
dispatchEvent(mainMenuViewEvent);
}
ディスパッチされたイベントは、コードの次の部分を実行します。
public function createClickToStart():void{
trace("here I register event listener MouseEvent.Click");
stage.addEventListener(MouseEvent.CLICK,onClick);
}
private function onClick(e:MouseEvent):void{
trace("onClick()");
}
プログラムを実行して最初のボタンをクリックすると。コンソールに次の出力が表示されました。
ここでボタンを使用してイベント リスナーを登録しました ここで btn をクリックしました イベント リスナーを登録します MouseEvent.Click onClick()
最初のボタンだけをクリックした場合、「onClick()」メッセージがどのように表示されるのか理解できず、その時点でも CLICK イベントでステージが再処理されませんでした。
私の問題を解決していただきありがとうございます。