Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- watch
- 수학정석
- as3
- as3.0
- flash
- MMOKit
- 샌프란시스코
- scaleform4
- 집합의 연산
- ApplicationDomain
- flash player 10
- addChild
- Document Class
- CLIK
- 태그클라우드
- autodesk
- 애드온
- 클릭
- Chart
- KGC 2013
- 강좌
- DataBinding
- GDC
- 플래시
- 스케일폼
- scaleform3
- scaleform
- 형변환
- flash cs3
- as2
Archives
- Today
- Total
scaleform.minarto.com
[강좌] 태그 클라우드 만들기 5 본문
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. 늘 그렇듯 오타는 책임지지 않습니다...ㅡ.,ㅡ