Это проблема из двух частей:
Я реализую несколько нерегулярных операций перетаскивания в Flex (например, DataGrid ItemRenderer в Tree). Я предпочел модифицировать операции DragManager для удовлетворения моих потребностей, и фактически использование DragManager позволяет мне делать все, что мне нужно, но у меня серьезные проблемы с производительностью. Например, перетаскивание чего-либо по многостолбцовой DataGrid, независимо от того, было ли перетаскивание инициировано с помощью DragManager.doDrag, или просто использование встроенной функции перетаскивания ListBase, замедляет движение перетаскивания для сканирования. Даже если DataGrid отключен / не прослушивает какие-либо события перемещения / перемещения, это происходит. С другой стороны, если перетаскивание инициируется вызовом .startDrag () на Sprite, перетаскивание происходит плавно и отлично работает над DataGrids и всем остальным. Таким образом, часть А будет такой: есть ли причина, по которой операции .startDrag () работают так хорошо, в то время как перетаскивания, инициированные с помощью DragManager.doDrag, так сильно страдают при работе с некоторыми компонентами?
Если действительно решение заключается в том, чтобы обрабатывать перетаскивания с помощью .startDrag (), как бы я определил, над каким компонентом находится мышь, когда отпущено перетаскивание? В моем примере мой перетаскиваемый объект перемещается на верхний уровень списка отображения и перемещается в координатах сцены. mouseMove, события mouseOver не запускаются на компонентах, над которыми я перетаскиваю, потому что мышь постоянно находится над перетаскиваемым компонентом, поэтому мне понадобится какое-то преобразование stage.coordinate -> visibleComponentAtThatCoordinate. Есть мысли по этому поводу?