![]() |
Перекрытия (и снова)
Вступление.
Поиск на этом сайте странный. Нашёл какие-то посты, где ругаются, что часто обсуждали, но самих обсуждений не нашёл ни разу. Дано. Есть вот такая структура мувика: root->mov1:MovieClip->mov:MovieClip->txt:TextField root->mov2:MovieClip->mov:MovieClip Клипу root.mov2.mov назначено событие MouseEvent.CLICK. Текстовое поле root.mov1.mov.txt находится "выше" перекрывает собой root.mov2.mov. На текстовом поле, родителе и родиеле родителя нет никаких обработчиков событий. Проблема. Событие MouseEvent.CLICK для oot.mov2.mov не отлавливается. Как его отловить? Желательно стандартными средствами. |
Смотри свойста mouseEnabled и mouseChildren
|
Цитата:
И это правильно. Зачем кликать по тому, чего не видно? Ну а если все-таки нужно, используйте не стандартные средства. Например, наложение невидимых объектов поверх остальных. |
Rzer
Пробовал - не помогло. Сдаётся мне, что это фишка текстового поля... ): mre Вопрос философский. Ответ - надо. Например туман в игре, которые лоиться поверх игровых объектов. Или в моём случае это текстовые поля с различной инфой. От дебага до всяких там скорезов... |
Согласен. Бывает такая необходимость. Ну не предусмотрено подобного свойства.
Используйте "танцы с бубном" :) |
Ох уж мне эти танцы с бубном. ):
|
> Пробовал - не помогло.
Что значит не помогло? Нужно выключить обработку мыши у всех объектов, которые находятся выше root.mov2.mov (не только у текстового поля, т.к. иначе клик перехватывает root.mov1.mov). Должно работать: Код:
mov1.mouseEnabled = false; |
гм...
просто в моём случае mov1 - это некий слой для реализации GUI, т.е. некоторые детишки этого слоя всё же должны заниматься отловом мышей. Видимо придётся сделать 2 GUI-слоя. Спасибо. |
| Часовой пояс GMT +4, время: 17:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.