8. 북극곰 탈출 게임

이번에 만들 게임은 북극곰이 빙하를 뛰어넘어 목적지 까지 이동하는 퍼즐게임을 만들어보도록 하겠습니다. 5X4의 빙하 타일에 북극곰 캐릭터가 존재하면서 목적지 까지 이동을 하는 도중 펭귄친구를 구해 목적지로 이동하는 게임입니다. 북극곰이 빙하 타일에서 다른타일로 이동하면 원래 북극곰이있던 빙하의 타일은 사라지게 됩니다. 그리고 깨진 빙하를 밟게 되면 빙하가 깨져 게임오버가 되도록 할 예정입니다.

3개의 스테이지를 구현하도록 할 것이며, 여러가지 에니메이션을 사용하여 재미있게 만들어보도록 하겠습니다.

랭킹의 경우 서버를 직접 본인의 컴퓨터에 구축하여 내부 IP에서 접속이 가능하도록 구축해서 서버 연동을 구현 해보도록 하겠습니다.

실제 서비스를 위해선 서버와 관련된 비용이 필요하므로 개발PC에서 필요한기능들을 완료하도록 하겠습니다.

 

8.1. 화면 구성

Figure 1 메인화면 / 스테이지 선택화면

Figure 2 게임설명 / 게임화면

Figure 3 점수화면 / 랭킹화면

 

8.2. 통합 프로젝트 생성하기

연재물 [4.1]을 참고하여 프로젝트 명 : polarbear, 패키지 명 : com.cocos2dx.polarbear, 이라는 통합 프로젝트를 생성하도록 합니다.

 

 

Figure 4 통합 프로젝트 생성

cocos new polarbear -p com.cocos2dx.polarbear -l cpp -d c:\cocos2d-x-3.4/projects

라고 입력합니다.

위 그림과 같이 나오면 완료된 것 입니다.

 

 

Figure 5 통합 프로젝트 생성

projects폴더에 가보면 polarBear라는 폴더가 생성되었습니다.

Figure 6 통합 프로젝트 생성

polarBear폴더로 들어가보면 여러 플랫폼 폴더들이 정상적으로 생성되었습니다.

 

Figure 7 통합 프로젝트 생성

proj.win32/polarBear.sln 파일을 실행합니다.

 

Figure 8 비주얼 스튜디오로 실행

비주얼 스튜디오로 실행이 완료되면 디버거를 실행합니다.

 

Figure 9 실행화면

디버거에서 실행이 되었습니다.

 

해상도 조절을 해보도록 하겠습니다. 연재물 중 [5.2]를 참고해주세요.

 

Figure 10 AppDelegate.cpp 열기

솔루션 탐색기에서 AppDelegate.cpp를 열어줍니다.

AppDelegate.cpp파일은 앱에 대한 기본적인 설정이 작성되어 있습니다.

 

----------AppDelegate.cpp----------

 

...생략...

 

static Size designResolutionSize = Size(480, 320);

 

bool AppDelegate::applicationDidFinishLaunching() {

    // initialize director

    auto director = Director::getInstance();

    auto glview = director->getOpenGLView();

    if(!glview) {

        glview = GLViewImpl::createWithRect("My Game", Rect(0, 0, designResolutionSize.width, designResolutionSize.height));

        director->setOpenGLView(glview);

    }

 

    glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::SHOW_ALL);

 

    // turn on display FPS

    director->setDisplayStats(true);

 

    // set FPS. the default value is 1.0/60 if you don't call this

    director->setAnimationInterval(1.0 / 60);

 

    // create a scene. it's an autorelease object

    auto scene = HelloWorld::createScene();

 

    // run

    director->runWithScene(scene);

 

    return true;

}

 

[5.2]와는 다르게 가로가 긴 480x320의 해상도로 설정하도록 하였습니다.

 

해상도를 변경하였으면 디버거를 실행시켜 보도록 합니다.

 

Figure 11 실행화면

해상도가 변경되었습니다.

 


Prev | Next