Показать сообщение отдельно
Старый 23.03.2012, 01:56
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 1  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
По умолчанию Дети ловят события мыши, хотя не должны

Здравствуйте. Есть некий контейнер. В этом контейнере куча разных спрайтов. Есть задача: При определенных условиях В этом контейнере ПОВЕРХ всех остальных детей (на самый верхний уровень) добавить в дисплей-лист некий Shape (полупрозрачный черный прямоугольник). Цель этого шейпа - затемнить всех остальных детей в контейнере (те спрайты что под ним) и сделать их неактивными. Такой эффект можно наблюдать в некоторых играх, когда пользователь нажимает на паузу в игре.
Дело в том, что при добавлении этого черного прямоугольника все спрайты что под ним, получают события мыши. Я сделал так:
Код AS3:
this.addChild(blackShape);
this.child1.mouseEnabled = false;
this.child2.mouseEnabled = false;
............................................
this.childN.mouseEnabled = false;
Но, к моему удивлению, все эти чайлды дальше ловят клик и движение мыши! Единственное рабочее решение:
Код AS3:
this.addChild(blackShape);
this.mouseChildren = false;
Но такой вариант не подходит. Так как блокируется полностью все в контейнере. А над черным прямоугольником будет диалоговое окно, которое должно слушать мышь. Подскажите, пожалуйста, как решить проблему.
__________________
Я мало чего умею, но зато хорошо умею учиться...