2012-05-16 5 views
0

У меня есть MovieClip, который прислушивается к событиям мыши. Внутри этого видеоклипа я хочу показать кнопку при наведении мыши.Событие с несколькими ящиками as3

Проблема заключается в том, что клип получает событие мыши при перемещении к области кнопок. Я хочу, чтобы он вытащил мышь, только когда жил в своей области.

Я нашел одно решение: сделать расчет положения мыши и сравнить их с моей позицией MovieClip, чтобы определить, следует ли мне обрабатывать или игнорировать событие.

Но есть ли более простые, более Adobe решения?

Edit: Внутренняя кнопка необходимо принимать события мыши, а

+0

решение вы говорите использовать ли в MOUSE_MOVE или ENTER_FRAME слушателя, а и сравнивая шнуры мыши с' hitTestPoint() 'каждый проход? Я прибегал к этим двум слушателям для событий «мыши», вместо отдельных слушателей, для большей гибкости и никогда не оглядывался назад. –

ответ

1

набор mouseChildren = false для MovieClip или использовать ROLL_OVER и ROLL_OUT, here «са большая статья на эту тему

+0

Если этот веб-сайт когда-либо был отключен, этот ответ бесполезен. В следующий раз сделайте больше усилий. – xLite

+0

Должен ли я удалить его и вместо этого добавить комментарий? В этом случае я не уверен в принципах stackoveflow. На данный момент страница содержит ценную информацию. –

0

Нужна ли внутренняя кнопка получить MouseEvents, а? Если нет, то просто установите его

button.mouseEnabled = false; 

или вы можете установить родительского мувика

movieclip.mouseChildren = false; 
+0

В качестве альтернативы вы можете использовать события ROLL_OVER и ROLL_OUT, которые учитывают дочерние объекты целевого объекта –

+0

, да и кнопка должна получать события. Когда я получаю приглашение? –

1

ROLL_OVER и ROLL_OUT события должны работать (использовать их вместо MOUSE_OVER и MOUSE_OUT).

+0

Нет, он не работает, я добавил журналы, и я видел, что каждый раз, когда я получаю событие MOUSE_OVER ROLL_OVER, запускается так же, как и при развертывании. –

Смежные вопросы