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 잊지 말자.)
신고
  1. pelix 2008.01.26 13:38 신고

    전 AS3.0 을 공부하고 있는 사람 입니다.. 구글에서 검색하다 보디 여기까지 왔는데
    궁금한 게 있어서 질문을 드리려 합니다.
    위에서 드래그 하는데는 2가지 요소가 필요하다 하셨는데
    - 드래그 하는동안 마우스를 따라 다닐 썸네일 이미지..
    이것을 어떻게 만들어야 하는 지 모르겠네요. Adobe 사이트나 AS3 레퍼런스 쪽을
    찾아봐도 비슷한 예제도 없구요.
    전 AIR는 전혀 모르고 이제 3.0 공부를 하고 있습니다.

    혹시 댓글로 답변 좀 부탁드려도 될까요? ^^

    • Favicon of http://wooyaggo.tistory.com 우야꼬  2008.01.26 16:24 신고

      NativeDragManager.doDrag(
      dragInitiator:InteractiveObject, clipboard:Clipboard,
      dragImage:BitmapData = null,
      offset:Point = null,
      allowedActions:NativeDragOptions = null
      ):void

      위 메소드의 3번째 파라미터가 드래그하는 동안의 이미지를 표시해줄 BitmapData 입니다.
      4번째 파라미터가 마우스 커서로부터의 offset 을 결정하구요^^

+ Recent posts

티스토리 툴바