Android용 게임을 제작할 때 자주 등장하는 이슈가 바로 Multi-resolution이 아닐까 싶은데요, Cocos2d-x에서는 어떻게 대처하는지에 대해서 포스팅 해보겠습니다. 제 자신이 정리도 해볼 겸 쓰는 포스팅이기도 합니다.
***** 게임의 기본 해상도를 480*320이라고 가정합니다.
Android 기기에 게임을 올려보면 아래와 같이 나올 것입니다.
하지만 우리가 원하는 것은 저 화면 전체가 의도했던 480*320으로 나오는 것이죠. 일단 비율은 무시한다고 치고 말이죠... 그렇게 하기위해서는 해당 프로젝트의 AppDelegate.cpp 로 가셔서, applicationDidFinishLaunching() 이라는 메소드에서 코드 한줄을 추가해주시면 됩니다.
bool AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(CCEGLView::sharedOpenGLView()); CCEGLView::sharedOpenGLView()->setDesignResolutionSize(1280, 720, kResolutionExactFit);
이렇게 하고 실행하게 되면~!
짜잔~! 일단 원하는대로(?) 화면에 꽉 차게 나왔습니다.
=====추가 (13.01.15)
참고로 setDesignResolutionSize의 세 번째 인자값을 적절히 바꿔주면 비율에 맞춰서 꽉 채우느냐 적당히 늘리느냐를 선택할 수 있습니다. 종류는 3~4개 정도 되는 것 같은데, 보통 kResolutionNoBorder를 많이 쓴다고 하더라구요 ^_^ 하지만 kResolutionNoBorder를 쓰게 되면 화면 비율과 제작했을 때의 비율과 다르면 실제로 보이는 화면의 일부분이 잘려나가게 됩니다. 그러면서 좌표도 조금은 달라지게 되는데요, 이 부분을 감안해서 적절히 제작하시면 될듯 'ㅅ'...
P.S : Windows 개발 환경에서 TTF로 한글을 출력하려니까 저렇게 깨져 나오더군요... Windows에서 실행할 때 한글 출력하게 하는 방법을 써서 Windows에서는 잘 나오는데 안드로이드는 어떻게해야할지 잘 모르겠습니다 ㅠㅠ... 아예 소스코드 인코딩 자체가 UTF8이 아니라서 그런것일까요? ㅇ>-<
'Study > Engine' 카테고리의 다른 글
드디어 한국에도 cocos2d-x 관련 서적이 등장했군요! (0) | 2013.03.31 |
---|---|
Cocos2D를 쓰면서 마주하게 되는 몇가지 이슈 (0) | 2013.02.16 |
Cocos2d-x 설정 방법 ( + Android ) (2) | 2013.01.06 |
libGDX에서 TTF를 BitmapFont로 가져다 쓰기! (0) | 2012.10.20 |
jMonkeyEngine 3.0에서 안드로이드 버전으로 만드는 방법 (0) | 2012.09.27 |