scaleform.minarto.com

[강좌] 태그 클라우드 만들기 5 본문

ActionScript

[강좌] 태그 클라우드 만들기 5

미나토 2008. 1. 7. 14:05




Document class 에서 상속 받았던 Sprite 클래스는 DisplayObjectContainer > InteractiveObject >DisplayObject > EventDispatcher > Object 를 상속 받게 됩니다.

DisplayObject 는 플레이어 상에서 눈에 보이는 모든 놈들이라고 생각하시면 됩니다. EventDispatcher 를 상속받음으로서 addEventListener 와 dispatchEvent 를 통한 이벤트 모델을 쉽게 만들 수 있습니다.

InteractiveObject 는 그중에서도 마우스와 키보드 이벤트를 받을 수 있는 놈들입니다. flash  상의 그래픽 심볼 클립이랄 수 있는 Shape 클래스와 Static 텍스트 필드인 StaticText  는 InteractiveObject 의 자식놈이 아니라 불가능 합니다. 그래픽 심볼과 Static 텍스트 필드는를 액션을 줄 수 없는 것은 같은 이유입니다. (제 설명이 좀 이상할 지 모르겠는데 뭐, 어쨌든 그렇습니다. 더이상은 제 능력 밖이라... ㅡ.,ㅡ)

다 레퍼런스에 있는 내용입니다. 전 레퍼런스보다 더 잘 설명해줄 능력이 없답니다...ㅡ.,ㅡ


Sprite 는  쉽게 이해하자면  2.0의 Movieclip 클래스에서 타임라인이 빠진 녀석입니다.


흔히 2.0 에서 개발자들은 원프레임  어플리케이션이라고 명하는 타임라인을 전혀 쓰지 않는  어플들을 만들어왔습니다.  타언어에서 넘어온 개발자들에게는  타임라인이라는  녀석을 전혀 이해할 수 없었음이 가장 큰 이유였죠. MM 에서는 그래서 폼어플리케이션이라는 새문서까지 만들어내는 생각해보면 참 쓸데없는(?) 짓까지 하게됐죠.(새 문서 하면 나오는 그녀석 말입니다)
플래시를 조금 더 이해한 분들은 추가 프레임을 적절히 섞어가며 좀 더 효율적인 개발을 하였지만 실상은 그랬죠.

그런 분들이 만들어낸 어플들의 라이브러리를 열어보면  무비클립은 있되  모두 하나의 프레임만을 가졌죠.

Sprite  가  바로 그녀석이라고 생각하시면 됩니다. 물론 태어난 이유는 위 설명과 달리  무비클립의 다이어트를 위해서지만  그냥 이해하시기 쉬우시라고요...


앞으로 개발하실 분들이 만질  새로운 무비클립은  Sprite  라고 생각하시면 되겠습니다.  (무비클립은  Sprite  자식놈으로 따로 있습니다)


무비클립이 그랬듯 Sprite 는 속에 다른 그래픽 객체들을 넣을 수 있습니다. 그 부분이 DisplayObjectContainer 클래스입니다. MovieClip.attachMovie 가 DisplayObjectContainer.addChild  로 바뀌긴 했지만요.

하지만 약간 개념이 다릅니다.
attachMovie 가 삽입의 개념이라면 addChild는 추가의 개념입니다. 오히려 attachMovie 는 addChildAt 에 가깝죠.


2.0의 무비클립은 타임라인이라는 시계와 Depth 라는 고층 건물을 가지고 있었는데 반해 DisplayObjectContainer 는 그것들이 모두 사라졌습니다.

Depth 라는 고층 건물이 있었던 무비클립은 사람을 아래층에 사람이 있건 없건 12층에 넣는 것이 가능했습니다만 수위실만 있고 건물은 없는 DisplayObjectContainer 는 건물이 그것이 불가능합니다. 다만 수위실에서 누가 몇번째로 건물에 들어갔는지만 체크할 뿐입니다. 들어간 녀석들은 먼저 들어간 녀석들 등에 업혀있습니다.

사이에 있는 녀석을 쏙 빼버리면 위에 업힌 놈은 밑으로 툭 떨어져 버립니다. 단지 index 라는 순서의 개념만 남게된겁니다.



말이 계속 길어지기만 하니 많이 사용할 놈만 쳐다보죠.
많이 보셨던 2.0 > 3.0 마이그레이션 과는 약간 다를 겁니다. 그녀석은 이론용이고 다음건 실무용 마이그레이션이랄까요... 레퍼런스에 있는걸 제가 또 설명할 필요는 없으니까요.

2.0 > 3.0

createEmptyMovieClip > new Sprite + (addChild, addChildAt)
attachMovie > addChild, addChildAt
removeMovieClip > removeChild, removeChildAt
swapDepth > swapChildren, swapChildAt, setChildAt, setChildIndex
getNextHighestDepth > numChildren



많이 길어졌으니 이번 강좌는 여기까지...



p.s. 늘 그렇듯 오타는 책임지지 않습니다...ㅡ.,ㅡ