Ручные операции перетаскивания в Flex - PullRequest
0 голосов
/ 31 августа 2009

Это проблема из двух частей:

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

  2. Если действительно решение заключается в том, чтобы обрабатывать перетаскивания с помощью .startDrag (), как бы я определил, над каким компонентом находится мышь, когда отпущено перетаскивание? В моем примере мой перетаскиваемый объект перемещается на верхний уровень списка отображения и перемещается в координатах сцены. mouseMove, события mouseOver не запускаются на компонентах, над которыми я перетаскиваю, потому что мышь постоянно находится над перетаскиваемым компонентом, поэтому мне понадобится какое-то преобразование stage.coordinate -> visibleComponentAtThatCoordinate. Есть мысли по этому поводу?

1 Ответ

0 голосов
/ 07 апреля 2010

Давно нет ответа, а? Вот мои несколько центов:

A) Я испытываю ту же медлительность на моей машине (иногда перетаскивание останавливается на целую секунду), однако, тот же самый код работает очень гладко на всех компьютерах в офисе

B) Может быть, это обсуждение, особенно код внизу, помогает Flex Datagrid - как получить элемент для координат х / у мыши?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...