一个Flex鼠标拖拽图片的简单例子(附源码)
参考了网上诸多例子,自己动手写一个简单的例子,以下只针对关键代码做重点讲解。
该例子仅供初学者参考。
public function dragImage(e:MouseEvent, messages:String):void{var dragInitiator:Image=e.currentTarget as Image;var dragSource:DragSource=new DragSource();dragSource.addData(messages, "messages");// Alias for messagesvar dragProxy:Image=new Image();dragProxy.source=e.currentTarget.source;DragManager.doDrag(dragInitiator, dragSource, e, dragProxy);}
var dragInitiator:Image=e.currentTarget as Image;
var dragSource:DragSource=new DragSource();dragSource.addData(messages, "messages");
var dragProxy:Image=new Image();dragProxy.source=e.currentTarget.source;
DragManager.doDrag(dragInitiator, dragSource, e, dragProxy);
public function dragEnterHandler(e:DragEvent):void{var dropTarget:Panel=e.currentTarget as Panel;//Note: 'dropTarget' is the target container where the mouse attempts to releaseDragManager.acceptDragDrop(dropTarget);}
public function dragDropHandler(e:DragEvent):void{var x:Number=e.localX;var y:Number=e.localY;var tarImage:Image=e.dragInitiator as Image;tarImage.x=x;tarImage.y=y;var dropTarget:Panel=e.currentTarget as Panel;dropTarget.addChild(tarImage);var messages:String=String(e.dragSource.dataForFormat("messages"));Alert.show(messages);}
var tarImage:Image=e.dragInitiator as Image;
var dropTarget:Panel=e.currentTarget as Panel;dropTarget.addChild(tarImage);