Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.05.2006, 08:00
cassius вне форума Посмотреть профиль Отправить личное сообщение для cassius Найти все сообщения от cassius
  № 1  
Ответить с цитированием
cassius

Регистрация: Jan 2006
Сообщений: 72
По умолчанию Порядок обработки события

Такая ситуация.
Есть клипы (экземпляры одного класса). Имеется обработчик onMouseDown. На сцене клипы могут перекрываться друг другом.

Вопрос: каким образом можно сделать, чтобы 1-м обработал onMouseDown клип, который перекрывает все остальные?

Старый 11.05.2006, 10:47
AlexSol вне форума Посмотреть профиль Отправить личное сообщение для AlexSol Найти все сообщения от AlexSol
  № 2  
Ответить с цитированием
AlexSol

Регистрация: Dec 2005
Сообщений: 316
если onMouseDown привязан к клипу, то так и будет, еси к _root, то смотри глубину. возможно лучшим решением будет помещать наверх именно тот клип, на который был клик подобное реализовано здесь:
[ваш диск]:\Program Files\Macromedia\Flash 8\Samples and Tutorials\Samples\Behaviors\BehaviorsScrapbook

Старый 12.05.2006, 04:23
cassius вне форума Посмотреть профиль Отправить личное сообщение для cassius Найти все сообщения от cassius
  № 3  
Ответить с цитированием
cassius

Регистрация: Jan 2006
Сообщений: 72
onMouseDown был привязан к клипу, но все ровно порядок обработки был не тот, т.е. сначала событие мог поймать клип, находящийся ниже другого (думаю из-за того, что использовался swapDepth)

Проблема решена путем замены onMouseDown на onPress

Старый 12.05.2006, 04:36
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 4  
Ответить с цитированием
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
MouseDown -- событие глобальное
Применяем onRelease для верхнего объекта, потом делаем event bubbling, либо ручной вызов для всех прочих.

Старый 12.05.2006, 13:11
KPaul вне форума Посмотреть профиль Отправить личное сообщение для KPaul Найти все сообщения от KPaul
  № 5  
Ответить с цитированием
KPaul
 
Аватар для KPaul

Регистрация: Nov 2005
Сообщений: 221
2Antares
Цитата:
потом делаем event bubbling
Мне кажеться здесь нужно говорить о event capture, так как подразумевается распространение от корня, bubbling же наоборот.
И для того чтобы применять такие умные вещи , для начала нужно организовать иерархию, например с отношениями чилд-парент...

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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