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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.02.2009, 01:09
lolooza вне форума Посмотреть профиль Отправить личное сообщение для lolooza Найти все сообщения от lolooza
  № 1  
Ответить с цитированием
lolooza
[+5 27.03.09]

Регистрация: Dec 2008
Сообщений: 37
По умолчанию заставить дочерние объекты перестать слушать события родительского мувика

Кратко : если в мувиклипе есть дочерний объект, допустим текстовое поле, то при подключении листенера к мувику это событие начинает слушать и текстовое поле, ну и если в функции написано “e.target.gotoAndStop(2)”, то при клике по тексту покажет конечно же ошибку…вот
Вопрос: как заставить дочерние объекты перестать слушать события родительского мувика, и почему так происходит?

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

Регистрация: Sep 2002
Сообщений: 30,784
Дочерние объекты не должны ничего знать о родительских.

Старый 15.02.2009, 04:13
lolooza вне форума Посмотреть профиль Отправить личное сообщение для lolooza Найти все сообщения от lolooza
  № 3  
Ответить с цитированием
lolooza
[+5 27.03.09]

Регистрация: Dec 2008
Сообщений: 37
Цитата:
Сообщение от __etc Посмотреть сообщение
Дочерние объекты не должны ничего знать о родительских.
Не должны, но почему-то так происходит

Старый 15.02.2009, 08:06
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 4  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
попробуйте <родитель>.mouseChildren = false;
это запретит объектам внутри родителя принимать события от мыши.

Либо ловить событие клика по родителю на фазе захвата и прекрашать дальнейшее распространение события:
Код:
target.addEventListener(MouseEvent.CLICK, clickHandler, true);

private function clickHandler(event:MouseEvent):void
{
     event.stopPropagation();
     // или event.stopImmediatePropagation();
     // что отрежет все дальнейшие события даже у самого объекта-генератора события
     . . . . . . . . .
}
Я не скажу что это 100% правильно, сам еще толком не въехал во все нюансы распространения событий.
__________________
trace("Остановите Землю, я сойду!!!");


Последний раз редактировалось Mur4ik; 15.02.2009 в 08:10.
Старый 15.02.2009, 13:16
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от lolooza Посмотреть сообщение
Не должны, но почему-то так происходит
Что значит «почему-то»?

Старый 15.02.2009, 16:46
lolooza вне форума Посмотреть профиль Отправить личное сообщение для lolooza Найти все сообщения от lolooza
  № 6  
Ответить с цитированием
lolooza
[+5 27.03.09]

Регистрация: Dec 2008
Сообщений: 37
Цитата:
Сообщение от __etc Посмотреть сообщение
Что значит «почему-то»?
Это значит что я не знаю почему!

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

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от lolooza Посмотреть сообщение
Это значит что я не знаю почему!
Это печально. Но, как я уже говорил, дочерние объекты о родительских не должны знать ничего. Так должен быть устроен код.

Старый 15.02.2009, 17:15
lolooza вне форума Посмотреть профиль Отправить личное сообщение для lolooza Найти все сообщения от lolooza
  № 8  
Ответить с цитированием
lolooza
[+5 27.03.09]

Регистрация: Dec 2008
Сообщений: 37
Цитата:
Сообщение от __etc Посмотреть сообщение
Это печально. Но, как я уже говорил, дочерние объекты о родительских не должны знать ничего. Так должен быть устроен код.
Конечно печально, скажите как Ваши комментарии должны помочь мне?

2Mur4ik спасибо , буду пытаться

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

Регистрация: Sep 2002
Сообщений: 30,784
lolooza, то, что вы рассказываете в первом посте — невозможно. Либо изъясняйтесь понятнее.

Старый 15.02.2009, 17:36
lolooza вне форума Посмотреть профиль Отправить личное сообщение для lolooza Найти все сообщения от lolooza
  № 10  
Ответить с цитированием
lolooza
[+5 27.03.09]

Регистрация: Dec 2008
Сообщений: 37
Ну как же невозможно, если Mur4ik, допустим, понял о чем идет речь и подсказал мне решение.

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

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

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


 


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


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