Как правильно сделать контроль за наведением/уходом курсора на спрайт с учетом прозрачности перекрывающих спрайтов?
Например нужно подкрашивать линии при наведении курсора и возвращать цвет при уходе курсора с линии. Перекрывающие спрайты (красный круг) могут быть чайлдами линии, а могут и не быть.
Пока сделал так: в контейнере сцены, проверяю MOUSE_MOVE, определяю спрайт с учетом прозрачности всех остальных и ему адресно перенаравляю MOUSE_OVER, вроде бы работает, но решение кажется топорным:

Код AS3:
protected function OnMouseMove(e:MouseEvent):void {
// Учесть прозрачность спрайтов для наведения мышки
if(lOnMouseOverFlag==false) {
// Первый проход - обработка (проверка по какому объекту было наведение с учетом прозрачности)
var OverObject:EventDispatcher = EventDispatcher(GetObjectUnderPoint(e.stageX, e.stageY));
if (lMouseOverObject != OverObject && lMouseOverObject != null) {
lMouseOverObject.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_OUT));
lMouseOverObject = null;
}
if (OverObject != null && e.target != OverObject) {
lOnMouseOverFlag = true;
e.stopImmediatePropagation();
OverObject.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_OVER));
lMouseOverObject = OverObject;
}
}
else {
// Второй проход - по правильному объекту с учетом прозрачности вышестоящих - сбросить флаг
lOnMouseOverFlag = false;
}