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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Sep 2005
Сообщений: 35
По умолчанию Отключить (на время) MouseEvent parent-а.

Eсть sprite-parent на нём группа sprite-child-ов (работают как кнопки).
У parent-а и у child-ов свои MouseEvent-ы.
Естессно, при нажатии на child - parent тоже ловит (свой click).
Как отключить (на время нажатия child-а) MouseEvent у parent-а?

Старый 09.09.2009, 00:33
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
event.stopImmediatePropagation()
__________________
Hell is the possibility of sanity

Старый 09.09.2009, 00:41
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от wvxvw Посмотреть сообщение
event.stopImmediatePropagation()
Я думаю, обычного stopPropagation достаточно, не нужно так усердствовать

Старый 09.09.2009, 00:49
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
что первое попало в автокомплит
__________________
Hell is the possibility of sanity

Старый 09.09.2009, 01:22
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 5  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
вопрос докучи: а не будет ли быстрее всегда писать event.stopPropagation() в том же клике мыши, чтобы исключить bubbling phase, а значит и затраты времени на прохождение по дисплейлисту.
если подразумевается, что в предках листнеров мыши не будет (я так понимаю, отмена действует только на конкретное событие/клик)
?

Старый 09.09.2009, 01:45
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Даже если и будет быстрее то:
- на сколько? (ну, сколько уровней вложености у вас будет в проекте, 10 - это уже кажется много...)
- ну даже предположим, что 10, проверить 10 раз в цикле hasEventListener() - ну тоже мне как-то представляется не особо требовательной к ресурсам операцией...
Так что даже если и быстрее - увеличение скорости будет в микросекундах, и то если... так, что думаю, оно того не стоит, но проверять, конечно, стоит всегда
__________________
Hell is the possibility of sanity

Старый 09.09.2009, 02:17
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 7  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
тогда вытекающее отсюда дополнительное решение вопроса темы - это дописать в начале обработчика (листнера мыши) sprite-parent'а
Код AS3:
	if (event.eventPhase == 3)
	{
		return;
	}
Решение может и не элегантное/эффективное, но рабочее -)))

Старый 09.09.2009, 03:53
FreshFlashEr вне форума Посмотреть профиль Отправить личное сообщение для FreshFlashEr Найти все сообщения от FreshFlashEr
  № 8  
Ответить с цитированием
FreshFlashEr

Регистрация: Sep 2005
Сообщений: 35
Спасиб!
Так вот это (eventPhase == 3) как раз и без проблем сработало.
А с stopPropagation пока как-то не очень...

Я так понял stopPropagation в child-event нужно?
child и parent - каждый в своём отдельном классе...
(просто на таймлайне stopPropagation работает). Что не так (уже просто - ради интереса)?

Старый 09.09.2009, 04:10
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Мануал = друг
__________________
Hell is the possibility of sanity

Старый 09.09.2009, 11:55
FreshFlashEr вне форума Посмотреть профиль Отправить личное сообщение для FreshFlashEr Найти все сообщения от FreshFlashEr
  № 10  
Ответить с цитированием
FreshFlashEr

Регистрация: Sep 2005
Сообщений: 35
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Ну это – бесспорно! Только один абзац мне особо ничего не дал (кроме общеознакомительной информации). Более того, по этому примеру всё понял (про stopPropagation) http://www.learningactionscript3.com...t-propagation/. Да только не срабатывает в child-е всё вышеуказанное. Может кто на пальцах покажет (куда у кого вставить, чтоб заработало)?

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

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

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


 


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


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