Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как пропустить слушатель при баблинге ? (http://www.flasher.ru/forum/showthread.php?t=190172)

AlexLucas 21.12.2012 15:32

Как пропустить слушатель при баблинге ?
 
Доброго времени суток.
У меня в приложении есть канва - у неё есть слушатель на MOUSE_DOWN.
На канве есть куча других всяких элементов, которые также подписаны на MOUSE_DOWN.
Я написал модуль который рисует линию - при клике на иконку активируется - и вешается слушатель MOUSE_DOWN на stage, в котором вешаются MOUSE_MOVE и UP и мышью рисуется линия.

Дело в том, что по дороге MOUSE_DOWN будет также ловить канва, а если эвент произошёл над каким-то элементом на канве - то и он словит эвент.
Вопрос - как обойти ненужные слушатели?

GBee 21.12.2012 15:38

смотреть таргет?

expl 21.12.2012 17:21

- эвент произошел над элементом канвы
- канва ловит клик по своему элементу тоже
Отсюда 2 вопроса:
- а что тогда считается кликом по канве, на неё ведь слушатели навешаны, значит что-то она обрабатывает
- по каким признакам отделить "полезный клик" по канве и неполезный?

Если я правильно чувствую ответы на эти вопросы - скорее всего придется делать флаг "режим линии" у канвы, и врубать его при _переключении_ в режим рисования линии.
Она же у Вас не всегда рисуется?

AlexLucas 21.12.2012 17:58

@expl, да, вот сейчас обедая тоже додумался что так и надо бы сделать :)
При клике на иконку задать канве какой модуль активен, и при MOUSE_DOWN по ней создавать новый объект класса модуля и работать с ним.

VGPechenkin 21.12.2012 23:52

Не ли редактор, случайно, делаете?


Часовой пояс GMT +4, время: 08:58.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.