santiago1983

学无止境

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

共同之处:

首先初始化:

注册

NativeDragEvent.NATIVE_DRAG_ENTER和NativeDragEvent.NATIVE_DRAG_DROP;
addEventListener( NativeDragEvent.NATIVE_DRAG_ENTER,dragEnterHandler );
addEventListener( NativeDragEvent.NATIVE_DRAG_DROP,dragDropHandler );

在dragEnterHandler方法中:

private function dragEnterHandler( evt:NativeDragEvent ):void {
if( evt.clipboard.hasFormat( ClipboardFormats.FILE_LIST_FORMAT ) )
NativeDragManager.acceptDragDrop( this);
}

在dragDropHandler方法中:

private function dragDropHandler( evt:NativeDragEvent ):void {
var files:Array = evt.clipboard.getData( ClipboardFormats.FILE_LIST_FORMAT ) as Array;
var uiLoader:UILoader = new UIloader();
uiLoader.load(files[0].url);
this.addChild(uiLoader);
}

不同之处:
flash中不能直接在stage上触发 NativeDragEvent事件。所以可以在stage上添加一个sprite。让sprite透明。
flex中不用。application Window 自身就能触发 NativeDragEvent.




posted on 2012-02-10 00:15  santiago1983  阅读(289)  评论(0编辑  收藏  举报