【发布时间】:2011-08-31 09:58:30
【问题描述】:
我需要一种将图像从容器拖放到另一个容器的方法。我尝试了几种不同的方法,但我想拖放的东西仍然让我望而却步。无论如何,这就是我想要做的,一个容器将包含一些位图/矢量图像(最好的方法是什么?平铺组?或者?)然后我希望能够将任何图像拖到另一个更大的面板内的图像。就像在 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);
}
【问题讨论】:
标签: apache-flex drag-and-drop bitmap