저장소/기타저장소

무비클립관련 도우미 클래스

THEBOSS 2011. 9. 21. 17:37
 

첨부 파일에 들어있는 클래스는 아래와 같습니다.

  • jp.flair4.lib.display.ExMovieClip
  • jp.flair4.lib.display.IExMovieClip
  • jp.flair4.lib.events.EnterFrameEventOptimizer
  • flash.display.IInteractiveObject
  • flash.display.IDisplayObject
  • flash.display.IDisplayObjectContainer
  • flash.display.ISprite
  • flash.display.IMovieClip

주목할 클래스는 위에부터 3개의 클래스입니다.

IExMovieClip는 단순한 인터페이스입니다.

나머지 5개 클래스도 인터페이스입니다.

 

:: EnterFrameOptimizer

EnterFrame 이벤트를 여기 저기 남발할경우 어플리케이션 성능이 저하되기 마련입니다.

때문에 EnterFrame 이벤트를 한데 모아서 관리하게되면 좀더 빨라지게됩니다.

그러한 목적으로 만들어진 클래스입니다.

 

// optimizer생성.
var opt:EnterFrameEventOptimizer = new EnterFrameEventOptimizer();
// 관리대상 리스너(콜백함수) 등록
opt.addEventListener( Function );
// 관리대상 리스너(콜백함수) 삭제
opt.removeEventListener( Function );
// 일시 정지
opt.pause();
// 재개
opt.resume();

 

::ExMovieClip

이 클래스는 개발시 노가다를 줄이고자 하는 취지로 만들어졌습니다.

 

eMC : ExMovieClip의 인스턴스

 

-무비클립의 오른쪽 끝단과 하단 값

// x + width

eMC.right;

// y + height

eMC.bottom;

 

- 복수의 무비클립을 한번에 addChild()

eMC.addChildren(mcA, mcB, ...);

// 지정 index 부터 연속으로 addChildAt()

eMC.addChildAt(0, mcA, mcB, ...);

// 한꺼번에 삭제

eMC.removeChildren(mcA, mcB, ...);

 

- 특정 DisplayObject의 앞/뒤로 addChild

// mcA앞에 mcB를 addChild

addChildFront(mcA, mcB);

// mcA 뒤에 mcB를 addChild

addChildBehind(mcA, mcB);

 

- 자기 자신을 removeChild

eMC.removeOwn();

 

- stage로부터 remove 될 경우 eventListener를 자동 삭제.

eMC.addManagedEventListener(eventType, listener);

remove되는 순간 removeEventListener가 실행됩니다.

 

- [static]으로 관리할 이벤트명을 추가해서 관리

ExMovieClip.addAutoManagedEventType( ...eventTypes );

ExMovieClip.removeAutoManagedEventType( ...eventTypes );

위에 등록된 이벤트는 addEventListener 할때 자동으로 관리 대상이 되며,

removeChild 할때 자동으로 removeEventListener 합니다.

 

 

원 페이지는 아래와 같습니다.(일본어 페이지 입니다)

http://blog.flair4.jp/2009/11/as30-movieclip.html