flex: возможность перетаскивания фрагмента ролика - PullRequest
0 голосов
/ 29 апреля 2011

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

Мы создали вращающееся колесо в виде файла SWC.

Как мы делаем перетаскивание + падение. Примеры, которые я видел, направлены только на сброс изображений. Еще раз спасибо

Ответы [ 2 ]

1 голос
/ 29 апреля 2011

Чтобы использовать классы Flex для перетаскивания, вам нужно обернуть этот мувиклип в UIComponent ;который имеет все события, связанные с перетаскиванием.

Вот некоторые хорошие инструкции .Чтобы скопировать соответствующие фрагменты:

Создание перетаскиваемого компонента

  1. Добавление прослушивателя для MouseEvent.MOUSE_DOWN
  2. Определение инициатора перетаскивания и передачи в DragManager

Чтобы начать перетаскивание, вам потребуется MouseEvent для перетаскивания компонента.

public function makeDraggable( component:IUIComponent ):void
{
   // a mouseDown event will start the drag
   component.addEventListener( MouseEvent.MOUSE_DOWN, beginDrag );
}

public function beginDrag( mouseEvent:MouseEvent ):void
{
   // the drag initiator is the object being dragged (target of the mouse event)
   var dragInitiator:IUIComponent = mouseEvent.currentTarget as IUIComponent;

   // the drag source contains data about what's being dragged
   var dragSource:DragSource = new DragSource();

   // ask the DragManger to begin the drag
   DragManager.doDrag( dragInitiator, dragSource, mouseEvent, null );
}
1 голос
/ 29 апреля 2011

Вы должны указать dragProxy для movieClip для хранения его экземпляра вместо фиксированного изображения.

...