Мне нужен способ перетаскивания изображения из контейнера в другой. Я пробовал несколько разных способов, но я думаю, что перетаскивание все еще ускользает от меня. В любом случае, вот что я пытаюсь сделать: контейнер будет содержать несколько растровых / векторных изображений (каков наилучший способ для этого? Tile Group? Или?), А затем я хочу иметь возможность перетаскивать любое изображение на другое большее Изображение внутри панели. Так же, как перетаскивание фигур в Photoshop.
Здесь нет кода, так как я совершенно заблудился, как это сделать. Здесь и там я нашел несколько советов / руководств, но ни одного, который бы я мог легко понять или адаптировать к моим потребностям. Итак, любая помощь?
Редактировать 1: До сих пор до сих пор:
public function beginDrag( mouseEvent:MouseEvent ):void
{
var dragInitiator:IUIComponent = mouseEvent.currentTarget as IUIComponent;
var dragSource:DragSource = new DragSource();
dragSource.addData(mouseEvent.currentTarget.source, "items");
var dragProxy:Image = new Image();
dragProxy.source = mouseEvent.currentTarget.source;
dragProxy.setActualSize(mouseEvent.currentTarget.width,mouseEvent.currentTarget.height)
DragManager.doDrag(dragInitiator, dragSource, mouseEvent, dragProxy);
}
public function acceptDrop( dragEvent:DragEvent ):void
{
var dropTarget:IUIComponent = dragEvent.currentTarget as IUIComponent;
var dragSource:DragSource = dragEvent.dragSource;
if (dragSource.hasFormat("items"))
{
DragManager.acceptDragDrop(Image(dragEvent.currentTarget));
}
}
public function handleDrop( dragEvent:DragEvent ):void
{
var dragInitiator:IUIComponent = dragEvent.dragInitiator;
var dropTarget:IUIComponent = dragEvent.currentTarget as IUIComponent;
var items:String = dragEvent.dragSource.dataForFormat("items") as String;
var img:Image = new Image();
img.x=dragEvent.localX;
img.y=dragEvent.localY;
img.width = 50;
img.height=50;
img.source=items.toString();
var bitmap:Bitmap= Bitmap(img.content);
myImage.addChild(img);
}