перетаскивание компонентов в flex - PullRequest
0 голосов
/ 04 апреля 2010

, поэтому я пытаюсь перетащить некоторые изображения на холсте.

Я добавляю обработчики событий к компонентам и вызываю startDrag () и stopDrag (), чтобы поднять их и прочее:

component.addEventListener (MouseEvent.MOUSE_DOWN, component.startDrag)

Проблема в том, что он выбирает изображение в его (0,0) месте, а не там, где я изначально щелкаю по нему. Так что, когда я нажимаю на изображение, происходит внезапный «прыжок». Это не гладко.

Я заметил, что startDrag () имеет два параметра по умолчанию, один из них - lockCenter и по умолчанию - false. Может быть, я как-то установил его равным true? (Я не знаю, как передать аргументы моему второму параметру в addeventlistener)

Другой вопрос: если я хочу добавить к нему больше условий, например, создать новую функцию, которая использует component.startDrag (), как передать компонент этой функции, одновременно добавляя в нее прослушиватель событий? например: я хочу сделать:

component.addEventListener (MouseEvent.MOUSE_DOWN, some_other_function);

где some_other_function использует component.startDrag ();

Спасибо!

Ответы [ 2 ]

1 голос
/ 04 апреля 2010

Ваш слушатель событий должен вызывать обработчик событий, а не запускать перетаскивание напрямую - таким образом вы можете передавать аргументы:

т.е.

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

Вам не нужно делать все это. Используйте DragManager. Вот страница, чтобы показать вам, как:

http://www.switchonthecode.com/tutorials/simple-flex-drag-and-drop

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