Прослушайте событие нажатия на перекрывающихся спрайтах - PullRequest
0 голосов
/ 07 февраля 2011

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

Есть ли простой обходной путь для этого?

Ответы [ 2 ]

4 голосов
/ 07 февраля 2011

Другое решение состоит в том, что вы слушаете событие click на верхнем спрайте и запускаете его снова с

dispatchEvent(new MousEvent(event));

Посмотрите на свойство "bubble" события.

1 голос
/ 07 февраля 2011

Вы можете использовать метод 'getObjectsUnderPoint', родной для DisplayObjectContainer

. Вы можете увидеть, как он работает здесь:

http://snipplr.com/view/34945/as3-trace-movieclips-under-mouse/

и ссылка на AS3здесь: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObjectContainer.html

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

...