На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: PIL
  
> AS3, обработчики событий
    Вопрос такой: Есть набор объектов класса А и один "командный" объект класса Б, управляющий всеми объектами из А. Мне нужно ловить события нажатия мышой на объекты А, по которым действия должны быть совершены и внутри ткнутого А, и в объекте Б. Как правильнее назначать обработчики события с точки зрения производительности и структурированности самой программы?
      Вроде тривиально же?
      ExpandedWrap disabled
        class A {
            ...
            private function clickHandler (e:EventMouse):void {
                dispatchEvent(new Event(CAPTURING_EVENT));
                ... process inside A instance
            }
            ...
        }
         
        class B {
            ...
            function B ():void {
                this.addEventListener(CAPTURING_EVENT, eventFromA);
            }
            function eventFromA (e:Event):void {
                ... process inside B instance
            }
            ...
        }

      Почему такой способ не устраивает?

      PS: Пишу по памяти, так что, прошу без претензий.
        нет, вопрос не совсем в этом. Есть два варианта, первый ставить обработчик ф-ей из класса А, второй - ф-ей из класса Б. Как я понимаю, предлагается дополнительный обработчик в Б, который будет ловить события из А. Однако объекту Б надо ещё знать, какой из А поймал сообщение от мыши.
          Там есть свойства terget и currentTarget. Не поможет?
            помогло :) в результате сместил обработчик в класс Б, а потом хватал event.target и смотрел, есть ли у него в родителях экземпляры класса А, если есть, вызывал его метод. Правда, я до этого дотумкал с неделю назад, но все-таки :)
            1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0171 ]   [ 14 queries used ]   [ Generated: 23.05.24, 15:30 GMT ]