Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   MOUSE_OUT с мувиком над таргетом (http://www.flasher.ru/forum/showthread.php?t=123133)

misha_yu 25.03.2009 16:44

MOUSE_OUT с мувиком над таргетом
 
привет всем,
Есть чувствительная область, над ней несколько кнопок.
MOUSE_OUT (или ROLL_OUT) добавленный к чувствительной области срабатывает когда мышь наводится на одну из этих кнопок. Возможно ли сделать так чтобы MOUSE_OUT срабатывал именно при выходе за границу чувствительной области и не реагировал на кнопки поверх.

Поиск и гугль не помогли :boredom: .

спасибо.

mre 25.03.2009 17:05

Слушать ROLL_OUT нужной области.

misha_yu 25.03.2009 17:19

таки я пробовал,
как ни странно ROLL_OUT срабатывает на клипы сверху как и MOUSE_OUT.

~ пока рашаю задачу другими способами, но найти ответ на вопрос думаю полезен будет.

Arif flasher 25.03.2009 18:02

Вложений: 2
насколько я понял вот так выглядит твоя проблема (см. влож.).

Код AS3:

o_mc.addEventListener(MouseEvent.MOUSE_OVER, lighter);
o_mc.addEventListener(MouseEvent.MOUSE_OUT, darker);
 
function lighter(event:MouseEvent):void
{
        o_mc.alpha = 0.5;
}
 
function darker(event:MouseEvent):void
{
        o_mc.alpha = 1;
}

попробуй вставить кнопки внутрь чувствительной области, как детей. и получится у тебя так (см. влож. № 2)
Код AS3:

o_mc.addEventListener(MouseEvent.MOUSE_OVER, lighter);
o_mc.addEventListener(MouseEvent.MOUSE_OUT, darker);
 
function lighter(event:MouseEvent):void
{
        o_mc.alpha = 0.5;
}
 
function darker(event:MouseEvent):void
{
        o_mc.alpha = 1;
}
 
o_mc.g_mc.addEventListener(MouseEvent.CLICK, clicked);
 
function clicked(event:MouseEvent):void
{
        test_txt.text = "test";
}


mre 25.03.2009 18:24

Цитата:

Сообщение от misha_yu (Сообщение 808479)
как ни странно ROLL_OUT срабатывает на клипы сверху как и MOUSE_OUT.

Положите их в контейнер, который подписываете на ROLL_OUT.

misha_yu 26.03.2009 09:55

спасибо за такие расширенные ответы.
это понятно, что можно просто слушать родителя (контейнер).

просто у меня панель с динамическим дизайном и размеры чувствительной панели меняются и не совпадают с размерами клипа, я не могу просто применить лисенер с ROLL_OUT к родителю - поведение будет не адекватным.

а если добавить к родителю просто MOUS_OUT тогда он реагирует на все объекты в родителе.

В принципе я решил проблему, добавил еще одну чувствительную панель (в пространстве между первой чувствительной паелью и границами клипа) которая слушает ROLL_OVER одновременно с ROLL_OUT для всего клипа.

Спасибо.


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

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