티스토리 뷰

프로그래밍/게임 개발

[Cocos2D-X] Cocos2D-X의 핵심

터프 프로그래머 2011. 10. 15. 18:13
cocos2d-x에서는 단어 연상과 소스를 직접 보는 것이 매우 중요합니다.
여러분이 뭔가를 만들려고 해요. 예를 들어 CCSprite라고 합시다.

cocos2d-x에서 대부분의 객체는 포인터로 만들어야 합니다.
그럼 CCSprite * pSprite = 라고 쓰고 CCSprite:: 를 코드에 입력합니다.
그리고 인텔리센스 기능을 켜보면 CCSprite의 함수들을 볼 수 있게 됩니다.

거기서 핵심적인 것은 스프라이트를 만들어주는 함수입니다.
CCSprite의 클래스 내부에는 반환형이 CCSprite* 이고 static으로 선언된 함수들이 몇가지 있습니다.
사실 이 static 함수들을 찾는건 상당히 귀찮은 일입니다.
여기서 단어연상이 필요합니다.
"스프라이트를 지금 만들어야 하는 상황이네? 생성자 같은 함수가 있겠지? 스프라이트를(sprite)를 뭘로(with) 만들어야 하지?"
인텔리센스로 spriteWith을 입력하고, 거기서 함수들을 구경합니다.

static CCSprite* spriteWithTexture(CCTexture2D *pTexture);
static CCSprite* spriteWithSpriteFrame(CCSpriteFrame *pSpriteFrame);
static CCSprite* spriteWithSpriteFrameName(const char *pszSpriteFrameName);
static CCSprite* spriteWithFile(const char *pszFileName);

뭐 이런 함수들이 나옵니다. 좀 겹친다 싶은건 뺐어요. 직접 찾아보시기 바랍니다.
그럼 이제 알 수 있는겁니다. 
spriteWithTexture는 인자로 CCTexture2D* 를 넣으면 되는 겁니다.
spriteWithSpriteFrame은 인자로 CCSpriteFrame* 을 넣으면 되는 겁니다. 
spriteWithSpriteFrameName은 그 속에 들어가보면 인자로 받은 파일 경로를 바탕으로 SpriteFrame* 변수를 만들고 이걸로 SpriteFrame*을 만든 뒤 이것으로 Sprite를 만듭니다.
spriteWithFile은 인자로 쓸 그림 파일의 경로를 넣어서 그걸로 CCSprite 만들어주는겁니다.

cocos2d-x는 오픈되어 있습니다. 그러므로 소스 내부를 볼 수 있어 곤란한 상황이 왔을 때는 소스를 직접 보는 것도 좋은 방법 중 하나입니다.
"나는 실력이 떨어져서 소스를 봐도 힘든데....." 하는 분들도 소스를 직접 보셨으면 좋겠습니다.
소스를 봄으로써 실력이 향상되는 부분이 매우 큽니다. 그리고 특정 부분을 보기 위해서 소스를 직접 보다가 의외의 수확을 얻을 수도 있습니다.
지금 몇가지를 봤다가 다른 부분을 프로그래밍할 때 "어? 이거 전에 어디서 봤던 것 같은데.... 아 맞다! 그 때 이렇게 하면 됬었지?"
이런 상황이 분명이 나타날 겁니다.

그럼 오늘도 즐거운 프로그래밍 ~ 
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday