论坛首页 入门技术论坛

图片拖曳

浏览 2424 次
锁定老帖子 主题:图片拖曳
该帖已经被评为新手帖
作者 正文
   发表时间:2009-03-17  
<?xml version="1.0" encoding="utf-8"?>
<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 dsragSource =  new DragSource();
            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>


   发表时间:2009-03-17  
把一张在容器中的图片拖曳到另一个容器中。
0 请登录后投票
   发表时间:2009-06-04  
怎么能把一个TextArea 拖到一个VBox中呢  谢谢~~
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics