【flex】—— 无继承IListBase的Compent的拖拽用法:使用DragManager类处理

DragManager类为静态类。无需实例,直接调用。

 

拖动事件:

DragManager.doDrag()

方法doDrag() :

doDrag (dragInitiator:mx.core:IUIComponent ,

dragSource:mx.core:DragSource ,

mouseEvent:flash.events:MouseEvent ,

dragImage:mx.core:IFlexDisplayObject ,

xOffset:Number , yOffset:Number ,

imageAlpha:Number ,

allowMove:Boolean )

 

dragInitiator——需要拖拽的控件,必须是建立在App上的原始控件。(即为SystemCompent)否则,会在运行到             IDragManager的方法的时候会Bug。

dragSource——拖动的数据。想传什么数据就写什么数据

dragImage——拖动时显示的在鼠标上的东西,无任何数据在其中

 

<mx:Image mouseDown="img_msDown_DragEvt(event)" left="10" right="10" y="10" height="39" id="img_DefenserLv1" autoLoad="true" source="Tom_Castle_PIC/ZombieDefense/Level1.jpg"/>

 

<mx:Panel  id="Panel_ID1" dragEnter="panel_dragEnter(event)" dragDrop="panel_dragDrop(event)" borderStyle="solid" borderThickness="1.5"></mx:Panel>

 

//拖动img时
private function img_msDown_DragEvt(evt:MouseEvent):void{
    var ds:DragSource=new DragSource();        //拖动的具体实值
    ds.addData(ImageSnapshot.captureBitmapData(evt.currentTarget as Image),"bmd_drag")
    var imgTemp:Image=new Image()
    var bmpd:BitmapData=ImageSnapshot.captureBitmapData(evt.currentTarget as Image)
    var bm:Bitmap=new Bitmap(bmpd)
    imgTemp.source=bm;//拖动显示的图像
    DragManager.doDrag((evt.currentTarget as UIComponent),ds,evt,imgTemp)
}

//当img释放
private function panel_dragDrop(evt:DragEvent):void{
    var img_drag:Image=new Image();
    var bmd:BitmapData=evt.dragSource.dataForFormat("bmd_drag") as BitmapData
    img_drag.source=new Bitmap(bmd)
    UIComponent(evt.target).addChild(img_drag)
}

 

//当img拖动到Panel上时
private function panel_dragEnter(evt:DragEvent):void{
    var ui:UIComponent=UIComponent(evt.currentTarget)
    DragManager.acceptDragDrop(ui)
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值