All
Вот моя ситуация ...
Интерфейс моего приложения Flash представляет собой сетку. Каждая строка сетки представляет собой спрайт, который содержит несколько дочерних спрайтов (элементов управления пользовательского интерфейса), которые отвечают на события мыши
Каждая строка сетки должна иметь эффект наведения - то есть, когда вы наводите курсор мыши на строку, фон строки должен изменить цвет.
Это легко сделать:
rowSprite.addEventListener(MouseEvent.MOUSE_OVER, highlightRow, false, 0, true);
rowSprite.addEventListener(MouseEvent.MOUSE_OUT, unhighlightRow, false, 0, true);
Это прекрасно работает, за исключением того, что, когда пользователь переворачивает любой из дочерних спрайтов строки, вызывается событие MOUSE_OUT строки, и строка "невыделена". Это не то, что я хочу.
Другими словами - я бы хотел бы строку, чтобы она не выделялась, только когда вы катите ВНЕ строки, а не когда вы переворачиваете дочерний спрайт внутри строки.
Возможное решение: в функции unhighlightRow
проверьте, находится ли позиция мыши пользователя в пределах границ спрайтов строк. Но я предполагаю, что это не самое элегантное или эффективное решение.
Это должно быть невероятно распространенная проблема. Какое лучшее решение?
Заранее спасибо!