AIR 가 데스크탑 어플리케이션이다보니

기존의 소프트웨어의 인터페이스가 자꾸 생각나는데

플래시다운 인터페이스를 한번 구현해보았다.

물론 첨부된건 샘플이지만

앞으로 배포될 여러가지 AIR 의 License 를 위한 제품관리 툴이다.

물론 나만 쓰게 될거라 너무 오바해서 만든거라는 생각도 든다 -_-a

아이고 허리야...

'Adobe AIR > 내가 만든 AIR' 카테고리의 다른 글

[AIR] AS3Decorator (Update at 08.03.11)  (4) 2007.10.04
[AIR] AS3/PHP Encoder  (0) 2007.09.14
곧 배포할 AIRPlayer 디자인 시안  (0) 2007.09.10
[AIR] FileUploader  (0) 2007.08.27
[AIR] Image Editor 1.1.2  (4) 2007.08.27

이번엔 창 드래그와 창 닫기를 만들어보자.

창을 드래그하는 방법은 생각보다 간단하다.

MouseEvent.MOUSE_DOWN 이벤트를 받아서

NativeWindow.startMove(); 메소드를 작동시켜주기만 하면 된다.

자 거두절미하고 소스보자.


위 클래스는 창 드래그 영역으로 쓰이는 Sprite 를 만들기 위한 컴포넌트.

이거저거 귀찮게 실시간으로 적기 귀찮아서

컴퍼넌트 클래스로 만들어 버렸다.

CS3 에서 Linkage > Base Class 를 위 클래스로 지정해주면 만사 OK.

마찬가지로 창 닫기도 비슷하다.

NativeWindow.close();

끝. -_ㅡ^

소스 봅시다 ;;;


이것도 마찬가지로 컴퍼넌트로 쓰이는 클래스이다. 소스에 프레임웍이 사용되서 메소드만 띄워봤습니다.

머 간단합니다.

닫기나 드래그에는 큰 예외처리나 조작을 가할 필요가 없기 때문에

아마 대부분 라이브러리화해서 사용하면 거의 손갈일이 없겠지 싶네요^^

NativeWindow 클래스를 이용해서

새로운 윈도우를 띄울 수 있다.

이를 이용하면 포토샵이나 플래시처럼 각자의 창이 나뉘어진 소프트웨어를 만들 수 있다는 희망을 준다.

그러나 아쉬운 점이 있다면 기본 창에 종속되어 띄운다거나

시스템트레이를 이용한다거나의 기능이 아직 지원되지 않습니다.

즉, 윈도우를 띄우는대로 시작메뉴에 창이 하나씩 늘어난다는 점이죠.

그나마 다행인건 서로 윈도우를 제어할 수 있어서 한번에 다 닫을수는 있지만

아쉽긴 아쉬운 점입니다.

자 그럼 간단하게 윈도우 띄우는 법을 알아볼까요?

NativeWindow(visible:Boolean, initOption:NativeWindowInitOptions)

위와 같이 사용합니다.

visible 은 말그대로 현재 보일것이냐 안보일 것이냐 를 나타내는 것이죠.

initOption 은 띄울 창의 초기 상태를 설정하는 오브젝트죠.

크롬창의 스타일, 배경 투명화, 타이틀등을 설정하죠.

저렇게 되면 하나의 Application Window 를 하나 생성하게 되었습니다.

자 근데 여기서 문제가 하나 있죠.

새로 띄운 윈도우는 DisplayObjectContainer 를 상속하지 않아서

addChild 를 쓸 수가 없습니다.

여기서 반드시 알아둬야할 것은

얼마전 DisplayObjectContainer 강좌에서도 알려드렸다시피

어플리케이션의 가장 위 요소는 Stage 입니다.

하얀 화면을 우리는 Stage 라고 이해를 했었죠.

여기서 새로운 어플리케이션이 생성되었고 거기에는 새로운 하얀 화면이 나타났죠.

새로운 Stage 가 생긴겁니다.

window.stage.addChild() 메소드를 이용하면 새롭게 띄운 창을 마음대로 조절 할 수 있습니다.

새로운 창으로는 무엇을 만들수 있을까요? 행복한 고민입니다^^


 

+ Recent posts