Cocos 2D for iPhone 개념잡기


iOS/아이폰 프로그래밍 2012.06.19 13:27



Cocos 2d에는 주요 Concept가 존재한다. 
(www.cocos2d-iphone.org참조)

이 Concept에는 CCScene, CCDirector, Clayer, CCSprite, CCNode가 존재한다. 


- CCScene
 CCScene은 한 씬(독립적인 장면을 구현한다)App은 여러개를 가질 수 있지만, 특정한 순간에는 한 Scene을 가집니다. 하나 이상의  CCLayer로 구성이됩니다. 


(CCLayer에 대해서 먼저 짚고 넘어가면 그릴수 있는 영역을 의미, 구현방식을 정의하며 여러개의 Layer을 겹치게 표현이 가능합니다.)


Event Handler를 구현하는 클래스입니다)

 

 Scene사이에 변환은 CCTransitionScene클래스로 구현이 가능합니다. 

 

CCLayer가 조금 작은 개념으로 화면이라면 이 레이어를 합쳐서 특정 순간 딱 눈에 보이는 한 '장면'이 CCScene으로 개념이 잡힙니다. 

이런 CCScene의 앞뒤 순서를 관리하는 것은 "CCDirector"이며 shared Object(singleton)형태로 구현됩니다. OpenGL ES의 초기화를 담당하며 scene calls를 관리합니다. 


CCSprite는 2D이미지를 담당하고 있으며 이동, 회전, 크기변환, 애니메이션 효과등을 적용할 수 있으며, 다른 CCSprite Object를 하위로 갖을 수 있으며 부모가 변환 시 자식들도 같이 변화되는 특성을 가지고 있습니다. 

 CCNode는 Object C 에서 NSObject와 같이 CCNode도 같은 의미로써 cocos2D의 대부분 클래스들은 CCNode에서 상속을 받습니다. 다른 Node를 추가/ 삭제하는 컨테이너를 포함하며, Action을 실행할 수 있고 렌더링 방식을 정의할 수 있습니다. 




다시 한 번 정리해보면, 

 CCLayer는 말 그대로 레이어이며, 이 레이어가 겹쳐져 '한 장면(CCScene)'을 구성합니다. CCDirector는 이 CCScene이라는 장면들의 앞뒤순서와 calls를 관리하며 이는 싱글턴으로 구현이 됩니다. CCSprite는 2D image를 담당하고 있으며 이동, 회전, 크기변환 등의 효과를 적용시킵니다. CCNode는 cocos2D의 부모클래스이며 Action을 실행시키거나 렌더링 방식을 정할 수 있습니다. 


 앞으로 cocos2D 관련 내용들, 스터디들 업데이트 하도록 하겠습니다. 

저작자 표시 비영리 변경 금지
신고

WRITTEN BY
ShakeJ

0 ,