Показать сообщение отдельно
Старый 18.04.2012, 01:25
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 7  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Вы не правильно понимаете модель распространения событий ( отображаемых объектов), поэтому и говорю, что вам нужно бы ознакомиться с ней, тогда всё станет яснее...

Меню не рассылает кнопке. Меню просто диспатчит событие двигающееся от стейджа к Кнопке. Ваша конструкция обрабатывает это событие так, как будет его получателем является Меню, а на деле это не так. Отсюда и путаница.

В общем случае обрабатывается это так:

Код AS3:
    private function onClick( evt:MouseEvent ):void
    {
        // проверяем - принадлежит ли полученное событие собственно Меню
         if( evt.target !== Menu ) return;
 
       // другой вариант, по фазе события: принадлежит ли событие объекту получателю
         if( evt.eventPhase !== EventPhase.AT_TARGET ) return;
 
    }
Добавлено через 11 минут
То есть я вас сейчас ещё больше запутаю

Второй вариант точнее сформулировать так: получено ли событие в фазе обработки получателем (если это одна из других двух фаз, захвата или всплытия - выходим без обработки).


Последний раз редактировалось fish_r; 18.04.2012 в 01:28.