cocos2d-x를 만날 수 밖에 없었던 데에는 그럴듯한 이유가 있었다.

학기를 바쳐가며 게임 어플리케이션을 개발하는 정부지원 프로젝트를 받았고, 이왕이면 아이폰, 안드로이드 모두 출시할 수 있는 멀티플랫폼 게임엔진으로는 cocos2d-x가 내 상황에 맞았기 때문이다.


물론 우려도 있었다. C와 Java만 다뤄본 내가 C++를 공부하지도 않고 바로 C++기반의 cocos2d-x에 도전한다는 것은 어찌보면 큰 모험이었다... 라기보단 C++을 배우는 겸 해서 선택한 것이 cocos2d-x였다고 하는 게 더 솔직한 심정이었던 것 같다.


그래도 '요즘은 컴퓨터 관련 도서도 잘 나와있으니 배우면서 하면 괜찮겠지' 하는 마음으로 cocos2d-x 서적을 뒤져보았는데, 그것이 이 cocos2d-x 포스트를 쓰게 된 이유가 되었다.



<무엇이 나를 어렵게 하였는가>


이미 아이폰, 안드로이드 게임을 Java와 Objective-C로 개발해왔던 프로그래머들에게는 cocos2d-x가 쉬워서인지(실제로 cocos2d-x자체가 아이폰 게임을 만드는 cocos2d엔진의 아류(?)이니까, 그리고 엔진 자체가 매우 쉽다고 하더라... 공감은 못했지만) 관련 서적이 너무 적었다. 또 하나의 문제는 서적들이 나온 지 얼마 되지 않았는데도 지속적으로 버전이 업데이트 되면서 서적들이 알려주고 있는 버전은 이미 너무 옛날 것들이 되어버렸다는 점이었다.


어차피 결국엔 3.0버전으로 올라갈 것이라 판단한 나는 많은 서적들이 대상으로 삼고있는 2.0.4버전 대신 2.2.1 버전과 3.0alpha1를 이용해 공부를 하게 되었다.


이제부터 쓰는 글들은 아마 버전 차이로 인해 고통받았던 나의 경험으로부터 시작된 것이다. 결국 선택한 버전은 3.0alpha1이지만, 간혹 터치이벤트와 같이 버전별 차이가 심한 챕터의 경우 버전별로 이야기할 것이다.


조금이나마 다른 이들에게 도움이 되었으면 한다.


미리 이야기하자면, 모든 공부를 맥에서 했기 때문에 윈도우에서 작성하는 방법은 모른다. 언젠가 cocos2d-x를 윈도우에서 쓸날이 온다면 재 포스팅을 할지도...?


---------

버전별 Cocos2d-x 프로젝트 생성의 차이점


2.0.4 - 2.1.5 버전 : Xcode 내에서 생성이 가능하다. (이보다 쉬울 수 없겠지)

2.2.1 버전 - 3.0 버전들 : 터미널에 들어가서 python명령어로 생성이 가능하다.


터미널 사용에서 필요한 명령어는 두 개.

cd 와 ls 가 그것인데, cd는 그냥 쓰면 상위폴더로, cd (하위 폴더 이름) 을 쓰면 하위 폴더로 이동할 수 있게 해준다.

그렇지만 폴더명을 정확히 알아야한다.

폴더명을 정확히 외우고 있지 못하는 사람들이 대다수일 것이기에 ls 명령어가 필요하다. ls를 치면 해당 위치에 있는(폴더 안에 있는) 파일, 폴더 들의 이름을 모두 출력한다.


cd와 ls의 조합으로 cocos2d-x 설치 폴더에 들어간 뒤 tools/project-creator 안에 있는 create_project.py 를 python create_project.py 이렇게 써주면 된다. 그러면 사용법이 나올테고, 그에 맞춰서 다시 쓰면 생성.


2.2.1~3.0alpha1까지는 사용법에 맞추어 생성해야 하는데, 3.0beta부터는 아예 GUI를 지원한다.


python create_project.py를 치고 나면 팝업창이 뜨고 거기에 입력해 넣으면 쉽게 생성이 가능하다.


---------

Q. 많은 버전 중 무엇을 선택해야 할까?


A. 정답이 어디 있겠는가? 자신이 참고할 것들이 많은 버전이면 좋겠지만, 나처럼 어차피 3.0으로 올라갈 것이기 때문에 먼저 익숙해지겠다는 의도로 최신 버전을 선택해도 좋다. 물론 그만큼 헷갈리게 되는 건 부담해야 할 것이다.


물론 이 질문은 C++에 익숙한 개발자나, 이미 아이폰, 안드로이드 어플을 개발한 경험이 풍부한 사람이라면 의미가 없을 것이다. 어차피 오픈 소스 게임 엔진이기 때문에 http://www.cocos2d-x.org/reference/native-cpp/V3.0alpha1/index.html (중간에 버전만 바꾸면 해당 버전의 레퍼런스 페이지로 이동한다. ex. V2.2.1)에 들어가면 다 나와있다.


3.0을 선택한다면, 궁금한 게 생길 때 댓글로 질문을 해 주시면 됩니다. 저도 열심히 찾아서 도울 수 있는 데까지 도와드릴게요.


p.s 존댓말로 안쓰는 이유는 안그래도 줄글인데, 더 길어지면 가독성이 떨어질 것 같아서입니다 하하;


'(Backup)' 카테고리의 다른 글

cocos2d-x 전화번호부 연동  (0) 2014.07.11
Cocos2d-x 관련 도움 링크 모음  (0) 2014.02.20
[Cocos2d-x] 2. 하나씩 배워보자. label, sprite  (0) 2014.01.14

+ Recent posts