2월, 2019의 게시물 표시

[Cocos2d-x] 프로젝트 생성을 1초만에 만들고 용량 경량화하기

이미지
Cocos2d-x를 사용하면서 항상 불만이었던 것이 있는데, 프로젝트 생성시간이 오래걸린다는 것과 프로젝트 용량이 용납할 수 없을 정도로 너무 크다는 것이었습니다. 이번 포스팅에서는 1타 2피로 위 두가지를 해결하는 것에 대해 정리해봅니다.

엔진 버전 : cocos2d-x 3.17.1생성 장소 : HDD
사실 내용 파악은 예전에 했던 것이라 엔진 버전은 그 이하 3.17이나 3.16등도 상관없이 잘 될듯합니다.

먼저 기존방식대로 프로젝트 생성을 해봤습니다.
첫 생성이라 2분이 넘게 걸렸는데 캐쉬 버프를 받아 다시 생성해보면 아래와 같이 28초 정도 나왔습니다.


프로젝트 생성하는데 28초나 걸린다? 뭐 사실 유니티도 비슷한 시간을 보여주긴 합니다만, 전 더 줄여보고 싶었습니다. 그래서 찾은 방법이 프로젝트 생성시마다 엔진 폴더에서 복사하는 cocos2d 폴더를 복사하지 않고 엔진 폴더에 있는 것을 참고하는 것으로 시도했습니다. 심볼릭 링크라는 것을 활용해서 말이죠. 간단히 심볼릭 링크는 바로가기 링크를 만드는 것인데 이게 파일뿐 아니라 폴더에도 적용이 되고 바로가기가 아닌 실제 폴더 처럼 인식이 되게 해줍니다. 자세한 것은 위키백과를 참고하세요.

용량만 줄일 것이라면 프로젝트 생성 후 cocos2d 폴더를 지우고 각 OS 별로 아래와 같이 해주면 심볼릭 링크를 생성할 수 있습니다.

Windows : mklink /J project_dir\cocos2d cocos_rootMac : ln -s cocos_root project_dir\cocos2d
하지만 이건 프로젝트 생성시마다 해줘야하는 용량만 최적화하는 반쪽짜리 개선일 뿐이고, 처음 의도했던데로 프로젝트 생성할 때부터 자동으로 개선이 되도록 해보겠습니다.

먼저 Cocos2d-x 엔진을 설치한 폴더에서 파이썬 스크립트를 수정해야합니다.
tools/cocos2d-console/plugins/plugin_new/project_new.py
수정할 함수는 def append_x_engine(self, v): 부분입니다.