2013년 9월 4일 수요일

cocos2d 기본 클래스들...

CCNode

iPhone SDK의 NSObject와 같이 cocos2d의 최상위 클래스
CCNode 클래스는 당양한 프로퍼티가 있다. 위치, 색상, 투명도, 크기, 회전, 가시성 여부, 카메라, 그리드 등 등이 있다.
이 객체는 자식 노드를 가질 수 있고 계층 구조로 만들수 있다.
계층구조로 만들면 부모 객체의 투명도 같은 속성이 바뀔때 자식 노드도 함께 손쉽게 변경이 가능하다.
스케줄러도 포함하고 있다.

CCDirector

싱글톤 클래스임, 어플리케이션에서 단 하나의 인스턴스만이 존재한다.
cocos2d는 게임의 화면을 장면 (Scene) 단위로 구성해서 처리한다.
CCDirector는 여러 장면들을 뒤로 가게 하거나 앞으로 가게 하는 등의 역할을 한다.

CCScene & CCLayer

UIKit의 UIView의 해당하는 클래스다. 
Sprite, Label, Menu등과 같은 클래스 객체들을 자식으로 가질 수 있다.
CCScen과 CCLayer의 차이점은 CCScen은 사용자의 터치 이벤트를 받아서 처리할 수 없고 Accelerometer 입력 또한 처리 할 수 없지만 CCLayer는 사용자의 터치 이벤트를 받아서 처리할 수 있다.

CCSprite

Sprite는 화면을 구성하는 정적인 이미지나 애니메이션이 되는 일련의 이미지를 가리키는 표현으로, 보통 게임에서 사용되는 이미지를 말하는데, 이러한 CCSprtie는 이미지 파일을 화면에 출력하는 역할을 하므로 이미지 파일의 로딩과 화면 출력과 관련한 다양한 메서드를 제공 한다.

Action

Sprite의 애니메이션 처리를 위해 Action 클래스를 제공한다.
[sonesprite runAction: [[CCMoveBy actionWithDuration:2 position: ccp(50,10)]];
2초동안 50픽셀 오른쪽으로 이동, 위쪽으로 10픽셀 이동

다양한 액션을 제공한다.
이동, 회전, 점프, 크기 변환 등의 기본 액션과 기본 액션을 결합하거나 반복하는 액션을 제공한다.
By , To 라는 두 가지 종류로 나뉘는데, By는 현재 값에서 지정한 값만큼 변하는 액션을 수행하고, To는 지정한 값으로 변하는 액션을 수행한다.