AIR 의 드래그 앤 드랍 (이하 D&D) 은 윈도우 API 와 같이 사용할 수 있다.

예를 들어 브라우저에서 AIR 안으로 D&D를 할 수 있고

AIR 에서 탐색기창으로 D&D 할 수도 있다.

자 그럼 살펴보기 전에 어떻게 D&D 하는지 그 기본을 알아둘 필요가 있다.
 
 - Drag & Drop

Drag 에는 두가지 종류가 있다.

[복사]와 [이동].

복사는 말그대로 원본을 유지하고 새롭게 하나를 만드는 것이고

이동은 원본이 삭제되는 액션이다.

복사는 원본이 살아있기 때문에 문제될게 없지만

이동을 할때는 많은 주의를 해야한다.

아직 작업이 끝나지 않은 상태에서 지워버리게 되면 큰일나기 때문이다.

 - Drag 요소

드래그에는 2가지 요소가 필요하다.

 - 드래그 하는 동안 마우스를 따라다닐 썸네일 화면.
 - 전송될 데이타.

썸네일 화면은 드래그 하는 동안 보여지게 될 미리보기라고 생각하면 되고 그 타입은 BitmapData 다.

전송될 데이타는 Array 며 각 원소마다 데이터를 넣어놓으면 된다.

위와 같이 D&D 는 액션을 취하기전에 고려해야될 로직이 많다.

그리고 D&D 는 AIR 안에서 밖으로 보낼때와

AIR 밖에서 안으로 들여올때의 액션이 차이가 많다.

바깥에서 안으로 드래그될때의 액션을 살펴보자.


1. NativeDragEvent.NATIVE_DRAG_ENTER 이벤트 리스너를 등록한다.
2. NativeDragEvent.NATIVE_DRAG_ENTER 이벤트가 발생했을때 어디에 드랍을 허용할 것인지 결정한다. DragManager.acceptDragDrop(this);

이것이 간단한 D&D 의 샘플이다.

AIR 파일을 만들고 바탕에 아무런 무비클립만 만들고 프레임 창에 붙여넣기하면 샘플을 볼 수 있다. (Ctrl + Shift + Enter 잊지 말자.)

+ Recent posts