![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
|
Доброго вам, уважаемые flash-самураи.
Вот очередной тупой вопрос про мышиные слушатели и дисплей лист. Есть задача ловить мышиные события двух клипов друг под другом. А точнее так: 0 - stage 0.1 - bottom (MouseDown) 0.2 - top 0.2.1 - topChild (MouseDown) Клипы bottom и top одинакового размера, но top не интерактивный, однако блокирует события bottom. Клип topChild интерактивный, и только его события срабатывают. Как можно заставить эту схему работать? Пузыри, видимо тут не помогут, потому что у клипов разные родители. import flash.display.Sprite; import flash.display.Graphics; import flash.events.MouseEvent; var bottom:Sprite = new Sprite() addChild(bottom); draw(bottom,0xFF0000,1); var top:Sprite = new Sprite(); addChild(top); draw(top,0x00FF00,0.5); var topChild:Sprite = new Sprite(); top.addChild(topChild); draw(topChild,0x0000FF,1,true); bottom.addEventListener(MouseEvent.MOUSE_DOWN, function (event:MouseEvent){trace('bottoom')}); topChild.addEventListener(MouseEvent.MOUSE_DOWN, function (event:MouseEvent){trace('topChild')}); function draw(sprite:Sprite,color:uint,alpha:Number,small:Boolean = false) { sprite.x = sprite.y = small ? 25 : 50; var size:Number = small ? 50 : 100; var graph:Graphics = sprite.graphics; graph.beginFill(color,alpha); graph.drawRect(0,0,size,size); graph.endFill(); } |
|
|||||
|
Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
|
Так topChild не работает. Не совсем понял, как это может помочь...
Последний раз редактировалось cv'; 19.07.2011 в 14:34. |
|
|||||
|
Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
|
Всего три клипа
1) Нижний - интерактивный 2) Верхний - НЕ интерактивный 3) ребенок верхнего - интерактивный Если верхнему сделать mouseChildren = false, его ребенок поломается. А это не служит достижению цели, где работают оба интерактивных клипа. |
|
|||||
|
Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
|
Цитата:
Верхний не интерактивный. Ребенок верхнего - единственный, у которого что-то происходит и у него всегда target будет один и тот же. Я снова не понял, как это может помочь. |
|
|||||
|
Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
|
Цитата:
Я сдалал так: top.addEventListener(MouseEvent.MOUSE_UP, function (event:MouseEvent) { trace('top') event.stopPropagation(); }); Добавлено через 47 секунд Я в самом верху написал: "Клипы bottom и top одинакового размера, но top не интерактивный, однако блокирует события bottom." |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|