![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2007
Сообщений: 83
|
Всем привет.
Проблема в следующем.Имеется Спрайт с двумя кнопками. После нажатия на одну из них - он должен отключить листенеры от этих кнопок и удалить себя с экрана.Но почему то этот процесс "залипает".То есть иногда спрайт нормально удаляется, а иногда он удаляется только после нескольких нажатий на кнопку(хотя листенер должен был удалиться после первого же).В чём может быть проблема? Вот код: package { import flash.display.Sprite; import flash.display.MovieClip; import flash.events.MouseEvent; import flash.text.TextField; public class UserPanel extends Sprite { public function UserPanel() { this.x = 320; this.y = 250; this.tabChildren = false; this.tabEnabled = false; this.resBtnIns.addEventListener(MouseEvent.CLICK, BtnClick); this.mainBtnIns.addEventListener(MouseEvent.CLICK, BtnClick); } private function BtnClick(e:MouseEvent):void { this.resBtnIns.removeEventListener(MouseEvent.CLICK, BtnClick); this.mainBtnIns.removeEventListener(MouseEvent.CLICK, BtnClick); parent.removeChild(this); } } } |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 117
|
А при чем тут super? Он и так компилятором добавится. Думаю что фокуса на объекте нет, поэтому первый клик активирует объект, а потом происходит само действо.
|
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
__________________
low + |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
В приведённом коде вроде всё хорошо. Поэтому ищите, что ещё может вызывать глюк. Может быть, кнопка в определённые моменты перекрывается чем-то прозрачным, и соответственно не получает событий мыши. Может, создаётся несколько объектов UserPanel, расположенных друг над другом, и визуально удаления не происходит.
Либо приведите больше кода ![]() Если вы запускаете мувик в составе html-страницы, убедитесь, что объект плеера имеет фокус, в противном случае первый клик не будет получен плеером, как уже сказали выше. Добавлено через 46 секунд Jewelz — почему? |
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
потому что чайлд должен событие посылать
__________________
low + |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|