Есть главный класс, который отвечает за добавление и удаление дополнительных классов, таких как класс реализацией процесса игры, и класс с выбором уровней. Все просто, но есть одна проблема.
В выборе уровня кликаю по символу (в котором же присобачен слушатель MouseEvent.MOUSE_CLICK, потом этот символ диспатчит событие "CLICK_ME") а в классе выбора уровня его слушатель, который удаляет класс с выбором уровня и добавляет класс с самой игрой , после
нажатия и перехода на класс с игрой , слушатели нажатия клавиш перестают отвечать, для этого нужно кликнуть по экрану , в итоге флэха отвечает на нажатия клавиш и все работает хорошо, перейдя в выбор уровней, а потом в игру, снова нужно кликнуть по экрану.
Почему так происходит? В чем проблема? При этом если в символе событие MouseEvent.MOUSE_WHEEL, то в игре также нужно поводить мышкой чтобы заработало.
НО если я при переходе в саму игру НЕ УДАЛЯЮ класс с выбором уровней, то все работает нормально. Почему, что меняется в этот раз меняется ? Не удаляются обработчик события клика?
Я уже думал, что это из-за параметра события
useCapture , но нет.
Примеры:
Класс с выбором уровня:

Код AS3:
public function addListener():void
{
this.icon.buttom.addEventListener(MouseEvent.MOUSE_DOWN, onClick);
}
public function onClick(event:MouseEvent):void
{
this.dispatchEvent( new Event("CLICK_ICON"));
}
Главный класс, который отвечает за переход:

Код AS3:
public function Model(_stage:Stage)
{
this._stage = _stage;
addMenu();
}
public function addMenu():void
{
menu = new GameMenu(_stage);
this.addChild(menu);
menu.addListener();
menu.addEventListener("CLICK_ICON", onClickIcon);
}
public function delMenu():void
{
removeChild(menu);
}
public function onClickIcon(event:Event):void
{
this.removeEventListener("CLICK_ICON", onClickIcon);
trace ("onClickIcon");
menu.addListener();
delMenu();
addCTR();
}
public function addCTR():void
{
ctr = new ControllerForLevels(_stage);
addChild(ctr);
ctr.addlevel_1();
ctr.addEventListener("END_LEVEL", onEndLevel);
}
public function onEndLevel(event:Event):void
{
delCTR();
addMenu();
this.addChild(menu);
}
public function delCTR():void
{
removeChild(ctr);
ctr.removeEventListener("END_LEVEL", onEndLevel);
}
Как быть?
Заранее спасибо!
Добавлено через 2 часа 36 минут
Может кто сталкивался, подскажите, что не так