浏览 2437 次
锁定老帖子 主题:图片拖曳
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-17
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:Canvas x="29" y="145" width="661" height="362"> <mx:Canvas id="canvas_1" x="118" y="30" width="457" height="117" backgroundColor="#F0E6E6"> <mx:Image id="hair" x="150" y="32" source="../images/hair_1_0.gif"/> </mx:Canvas> <mx:Canvas id="canvas_2" x="118" y="175" width="457" height="185" borderColor="#B2BCC3" backgroundColor="#B1D6F6" horizontalScrollPolicy="off" verticalScrollPolicy="off"> </mx:Canvas> </mx:Canvas> <mx:Script> <![CDATA[ import mx.controls.Image; import mx.core.DragSource; import mx.managers.DragManager; import mx.events.DragEvent; private var sp_1:Sprite; private var sp_2:Sprite; private var del_per:Number=0.3; private var del_alpha:Number = 0.1; internal function init():void { hair.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler); canvas_2.addEventListener(DragEvent.DRAG_ENTER,enterHandler); canvas_2.addEventListener(DragEvent.DRAG_DROP,dropHandler); } /***============拖曳============****/ private function mouseDownHandler(e:MouseEvent):void { var dragTarget:Image = Image(e.currentTarget); var ds ![]() var imgProxy:Image = new Image(); imgProxy.source = hair.source; imgProxy.width = dragTarget.width*2; imgProxy.height = dragTarget.height*2; DragManager.doDrag(dragTarget,ds,e,imgProxy,1*dragTarget.width/2,1*dragTarget.height/2,0.8); } /**进入canvas**/ private function enterHandler(e:DragEvent):void { DragManager.acceptDragDrop(Canvas(e.target)); } /***在canvas上松开鼠标**/ private function dropHandler(e:DragEvent):void { var canvas:Canvas = Canvas(e.target); //目标canvas var newImage:Image = new Image(); var dragImg:Image = Image(e.dragInitiator); newImage.source = dragImg.source; //拖曳的原始对象 canvas.addChild(newImage); newImage.x = canvas.mouseX - dragImg.width/2; newImage.y = canvas.mouseY-dragImg.height/2; } ]]> </mx:Script> </mx:Application> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-03-17
把一张在容器中的图片拖曳到另一个容器中。
|
|
返回顶楼 | |
发表时间:2009-06-04
怎么能把一个TextArea 拖到一个VBox中呢 谢谢~~
|
|
返回顶楼 | |