Прослушайте событие click для перекрывающихся спрайтов

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

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

2 ответа

Решение

Вы можете использовать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

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

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

dispatchEvent(new MousEvent(event));

Взгляните на свойство "пузыря" события.

Другие вопросы по тегам