티스토리 뷰
보통 프로젝트를 진행할 때 Git이나 SVN과 같은 리비저닝 툴을 쓰기 마련이다. Cocos2d-x 같은 경우에는 Cocos2d-x의 홈 디렉토리에 projects 폴더를 생성하고, 그 안에 자신의 프로젝트 디렉토리를 위치시키면 알아서 cocos2d-x library들의 (윈도우기준)솔루션을 불러와서 잘 빌드할 수 있다. (폴더명을 projects라고 지은 이유는 project-creator 툴을 이용할 경우 projects 디렉토리를 생성하고 그 안에 프로젝트를 생성해주기 때문에 이 툴과 충돌을 일으키지 않게 하기 위함이다.)
Lua binding을 이용해서 게임을 개발할 때 아무래도 C++ 단에서 지원해주는 것이 유용할 경우가 많기 때문에 자신의 커스텀 클래스를 함께 Binding해서 사용하게 된다. 이 때 사용하는 툴이 tolua++인데(tools/tolua++ 폴더에 있다. 사용법은 내 글을 참조.) 툴의 디렉토리 위치가 자신의 프로젝트 폴더 내부에 있는 것이 아니기 때문에 리비저닝 툴과 연동 하는데 껄끄러움이 생긴다. 그렇다고 tools 폴더 안에 리비저닝 디렉토리를 하나 더 만드는 것은 비효율적이지 않은가?
해결 방법은 간단하다. 이 tolua++ 툴을 내 프로젝트 디렉토리 안으로 옮기는 것이다. 이렇게 하면 그냥 툴의 디렉토리도 함께 커밋하면 되므로 관리가 편해진다. 여기서 중요한 점은 build.bat에 LuaCocos2d.cpp 경로를 수정해주는 것! tolua++의 역할은 pkg에 등록되어 있는 것들을 LuaCocos2d.cpp에다가 generating 해주는 것이기 때문이다. 때문에 LuaCocos2d.cpp의 경로에 맞춰 기존 경로를 수정해줘야 한다.
"tolua++ -L basic.lua -o "../../scripting/lua/cocos2dx_support/LuaCocos2d.cpp" Cocos2d.pkg"
기존의 이 경로에서
"tolua++ -L basic.lua -o "../../../scripting/lua/cocos2dx_support/LuaCocos2d.cpp" Cocos2d.pkg"
이 경로로 수정해주면 된다.
상대 경로로 어떻게 바뀐 것인지 보면 쉽게 알 수 있을 것이다.
자 이제 옮긴 tolua++ 툴 폴더를 함께 커밋해주면 된다.
추가 팁.
나는 tolua++/Cocos2d.pkg의 내용에서 내 커스텀 클래스들을 이런 식으로 등록해서 쓴다. 소스 Linking 때문인데, 이렇게 상대경로로 헤더파일들을 명시해주면 lua project에 따로 내 소스파일들을 추가해주지 않아도 컴파일이 잘 된다. "$#include ~~" 이 부분이 LuaCocos2d.cpp의 헤더에 추가되는 부분이다. (Project name과 특정 헤더 파일 이름은 보안상 이유로 모자이크 처리했습니다. 양해 바랍니다.)
끝!
'프로그래밍 > 게임 개발' 카테고리의 다른 글
쿼터뷰(isometric view) 스크린 좌표에서 맵 좌표로 변환하기 (3) | 2014.02.18 |
---|---|
[cocos2dx] 초기 빌드 속도 향상 팁 (0) | 2014.02.14 |
[cocos2dx] Smooth panning and zoom layer (0) | 2014.01.21 |
[cocos2dx] Run-Time Check Failure #0 어쩌구 저쩌구 해결하기 (0) | 2014.01.16 |
[cocos2dx] Lua binding - 커스텀 클래스를 만들어서 binding 하기 (0) | 2013.12.19 |
- Total
- Today
- Yesterday