我需要一种将图像从容器拖放到另一个的方法。我已经尝试了几种不同的方式,但我猜拖放&东西仍然躲过我。无论如何,这是我想要做的,一个容器将包含一些位图/矢量图像(这是什么最好的方式?瓷砖组?或?),然后我想能够拖动任何图像到另一个更大面板内的图像。就像在Photoshop中拖动形状一样。将图像从容器拖放到另一个 - Flex
没有代码在这里,因为我完全失去了如何去做。我在这里和那里发现了一些提示/教程,但没有哪一个能够轻松理解或适应我的需求。那么,有什么帮助?
编辑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);
}
好吧,不知道容器是否是合适的术语。但这是我想要的。我想在一个说法中保留一些图像,拼贴组,然后我想将任何图像拖放到Panel内的另一个较大的图像上。你有什么联系,我可以通过你提到的事件? – redGREENblue 2011-05-23 19:42:02