![]() |
"Прозрачность" для событий
У меня есть movieClip, который изображает собой курсор мышки. Под ним могут быть другие movieClip-ы, которые слушают события мыши, но к ним события не доходят из-за того, что курсор всегда вверху.
Как заставить клип курсора пропускать дальше события мышки? Пробовал выключать mouseEnabled для курсора - не помогает. |
Если внутри курсора находятся другие объекты, то попробуйте курсору задать mouseChildren = false. Если нет, то при mouseEnabled = false курсор не должен ловить события мыши. Если он ловит, то покажите код или исходник.
|
Странно. Вот на таком примере работает:
Код AS3:
Добавлено через 42 секунды Да, тут buttonWrapper: Код AS3:
|
Дайте .fla файл. По коду непонятно в чем проблема.
|
Вложений: 1
Проект во вложении. Там есть такие круглые штуки. Их можно соединять (украдено из InterfaceBuilder-а XCode-а). В классе ConnectionController, метод beginConnectionWithSlot(aSlot:MovieClip) создаётся movieClip, в котором линия соединения рисуется. Если сделать зум, можно заметить, что этот клип перехватывает события, из-за чего не детектиться наведение мышки на кнопку-слот.
В плане архитектуры там хреновато всё, но это не суть важного. |
У меня все работает. "Круглые штуки" соединяются.
|
Там дело в том, что если увеличить изображение в плеере, можно заметить как "круглая штука" (я её слотом буду дальше называть) не реагирует на наведение мышкой когда поверх неё (слота) находится соединение (зелёная линия). Я подозреваю, что это из-за того, что соединение забирает себе событие наведения мышки и не пускает его дальше.
|
Может надо для _connections сделать mouseChildren = false и mouseEnabled = false?
|
mouseEnabled и mouseChildren такие подлые штуки, что отключают мышь только в рамках конейнера.
Т.е. если A и B лежат в C и B перекрывает A - то выставление B.mouseEnabled = false и B.mouseChildren = false сделает прозрачным B для A, но никак перекрыть те спрайты, что лежать вне C! Как быть с курсором? Надо сделать такую структуру всего проекта: Код:
--Документ-класс |
Ясно, expl, спасибо за совет и за инфморацию. Попробую переделать так, как вы сказали.
Цитата:
|
| Часовой пояс GMT +4, время: 18:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.