Прослушайте событие 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));
Взгляните на свойство "пузыря" события.