9月 302015
 

AIR内部的拖拽。其实,这个用到了前边两种拖拽里的东东。用到了创建剪贴板,启动拖动(拖出),用到了接受剪贴板(拖入)。
会创建剪贴板,处理事件,了解流程,这种拖拽就很好实现了。AIR内部拖拽,还有一个权力,可以自定义拖拽对应数据类型。命名的时候不要以flash:或air:开头就好。
在拖拽的过程中,鼠标状态的变换,追随鼠标图片的坐标,大小等细节方面也是要注意的。
Continue reading »

9月 302015
 

将air中的文件(数据)拖拽到操作系统。想将文件从air中拖出,就用到文件承诺。

文件承诺是指,当您希望用户能拖放还不存在或位于其他位置(不在您的本地机器上)的文件时,您放在剪贴板上的内容。例如,远程服务器上的文件,或是您只希望在用户尝试拖放它们时生成的文件(如 CSV 文件)。文件承诺并不是实际存在的文件;正如其名,它表示在用户选择放下位置后,在之后的某个时刻提供文件的承诺。

在AIR中,并没有一个直接的文件承诺类,而是提供了一个IFilePromise的接口。就是说,只要实现这个接口的类,就具备了文件承诺的功能。这对于初学者有些不便,不像File类那样直接就可以使用,不过这也提供了更大的扩展性。你可以为你的各种数据实现文件承诺功能。虽然没有具体的文件承诺类,AIR也有一个类实现了IFilePromise的接口。就是 URLFilePromise类。
Continue reading »

9月 302015
 

AIR拖拽的三步骤:启动,拖动,放下
启动的时候,需要借助鼠标事件。由NativeDragManager控制。在哪个阶段,有事件通知。任何 InteractiveObject 类型的对象都可以是拖动启动器或放置目标。

三种类型的拖动,直接看code。

1,从操作系统(包裹操作系统里的应用程序)拖拽。
准备:1,先绘制一个Sprite,用来接受拖拽的数据。这个时候,就得对这个绘制Sprite进行事件侦听。

receivePanel = getPanel(stage.stageWidth , stage.stageHeight , 0xff0099 , 0.0);
addChild(receivePanel); receivePanel.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER , dragEnterHandler); receivePanel.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP , dragDropHandler);

NATIVE_DRAG_ENTER,当拖拽的对象进入Sprite时候,就开始触发了。这个时候你可以检测剪贴板(Clipboard)所包含的对应数据类型,然后是否启用接受。启用接受请用NativeDragManager。
Continue reading »

9月 302015
 

应用程序跟操作系统(包裹操作系统里的应用程序)之间的文件拖拽,是一种很常见的操作行为。AIR也是。AIR拖拽,除了这一操作行为,还有其他的。这里就总结下。

AIR拖拽的分类:
1,从操作系统(包裹操作系统里的应用程序)拖拽文件到AIR.
2,从AIR拖拽文件到操作系统。
3,AIR内部之间文件的拖拽。

无论怎么拖,勾托抹托,上拖下拖,左拖右拖。都离不开一个东东,那就是剪贴板。就是Clipboard。在拖拽与接收之间,先得有个剪贴板。想取得剪贴板,可以用ClipBoard的静态属性generalClipboard获取。

var clipboard:Clipboard = Clipboard.generalClipboard;

Continue reading »

 Posted by at 上午10:09
网站地图