cocos2D를 구성하고 있는 주요 클래스와 기본 개념을 살펴보면 다음과 같다.
(원문 : http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:basic_concepts#scenes) 
CCScene  
  - app 구현흐름에 비교적 독립적인 장면 구현 : (scene ==  screens == stages )
  - app는 여러개를 갖을 수 있지만, 특정한 순간에는 단 하나의 scene만을 갖음.
  - 하나이상의 CCLayer로 구성됨. ( 형태 및 행위를 구현해줌)
  - Scene사이의 변환은  CCTransitionScene 클래스로 구현가능 ( ex. fade out/in, slide from a side, etc)
  - CCNode의 SubClass이므로 Actions에 의해 변환될 수 있음.
[scene의 구성]
CCDirector  
  - Scene들의 앞뒤 순서를 관리
  - shared Object( singleton)형태로 구현됨.
  - OpenGL ES의 초기화 담당
  - scene calls를 관리  
CLayer 
  - 그릴 수 잇는 영역의 크기를 갖고 있으며, 그리를 구현 방식을 정의함.
  - 타 Layer와 반투명 형태로 겹치게 표현가능
  - Event Handler를 구현하는 클래스 (Event는 특정 Layer가 해당이벤트를 받아 적용할 때까지 전파됨)
  - cocos2D에서는 유용한 CCLayer를 미리 정의해 두었음 ( 메뉴 담당 : CCMenu, 컬러 : CCColorLayer, 멀티픽셀러 : CCMultiplexLayer, ...  물론 사용자정의의 CCLayer를 구현할 수 있음) 
  - CCNode의 SubClass이므로 Actions에 의해 변환될 수 있음.
CCSprite  
  - 2D 이미지를 담당하고 있으며, 이동, 회전, 크기변환, 에니메이션 효과 등을 적용할 수 있음.
  - 다른 CCSprite Object를 하위로 갖을 수 있으며, 부모가 변환시 자식들도 변환됨
  - CCNode의 SubClass이므로 Actions에 의해 변환될 수 있음.
CCNode
  - Object C에서 NSObject와 마찬가지로 cocos2D의 대부분의 클래스는 CCNode에서 상속받음
  - 다른 Node를 추가/삭제하는 컨테이너 포함  
  - 특정 시점을 기준으로 Callback 함수 호출을 통한 스캐줄 관리  
  - Action을 실행할 수 있음.  
  - Rendering 방식을 정의할 수 있음.

클래스 세부정보 :   http://www.cocos2d-iphone.org/api-ref/0.99.4/annotated.html
Posted by 꿈을펼쳐라
,