Показать сообщение отдельно
Старый 23.11.2011, 00:51
AHKHOBA вне форума Посмотреть профиль Отправить личное сообщение для AHKHOBA Найти все сообщения от AHKHOBA
  № 1  
Ответить с цитированием
AHKHOBA

Регистрация: Feb 2009
Сообщений: 30
По умолчанию Class, MovieClip, SimpleButton. Не срабатывает обработчик MouseEvent.CLICK

Присоединяю к классу клип, в котором 2 кадра. В кадрах - кнопки. В зависимости от значения некой переменной frame, происходит выбор кадра:

Код AS3:
addChild(dialBox);
dialBox.gotoAndStop(frame);
И в первом кадре, и во втором есть кнопка cancel_btn. Разница во внешнем виде только. Но по совершенно непонятной мне причине, кнопка не реагирует на событие нажатия мыши.

Код AS3:
dialBox.cancel_btn.addEventListener(MouseEvent.CLICK, onCancelHandler);
Как будто бы оно не происходит. Спрашиваю обработчик: что такое dialBox.cancel_btn? Отвечает: simpleButton. То есть, кнопка точно видна скрипту.

Уже голова почти разбита об стену - не понимаю, отчего это может быть. Перепробовала все вариации: называла кнопки в разных кадрах по-разному, добавляла стоп-кадры, даже удаляла кнопку из первого кадра, оставив только во втором... Ничто не помогло. Единственное, что понятно: если кадр один, тогда все отлично работает. Итого получается, что проблема в gotoAndStop(). Но какая может быть проблема в этом элементарном действии?..

Еще такой момент: кроме кнопки cancel_btn в этих кадрах есть и ok_btn. С этой кнопкой все в порядке. Разница между ok и cancel кнопками в том, что кнопка ok_btn в обоих кадрах одна и та же. По идее, этот факт должен исключить влияние на проблему метода gotoAndStop(), который сейчас главный подозреваемый... но какая проблема может быть другая?

Кто-нибудь, по возможности, просветите меня в этом вопросе. Буду весьма-весьма признательна.