프로젝트 생성하기
위 게시물을 참고해 프로젝트를 생성한다.
윈도우키 + R -> cmd 실행 -> cd C:\CocosProject 입력
cocos new [프로젝트 이름] -p com.[패키지 이름].[프로젝트 이름] -l cpp를 입력
ex) cocos new puzzleTest -p com.puzzleTest.puzzleTest -l cpp
프로젝트 실행하기
프로젝트 폴더\project\puzzleTest\proj.win32 디렉토리에서 puzzleTest.sln파일을 실행하여
Visual Studio 2013에서 개발을 시작할 준비를 한다.
가로모드 / 세로모드 설정하기
프로젝트 폴더\proj.android\AndroidManifest.xml파일을 실행한다. (메모장 등등으로)
위 사진의 밑 줄 친 부분의 android:screenOrientation= 을 아래 값으로 수정한다. 여기선 세로모드를 선택한다.
가로모드 : "Landscape"
세로모드 : "Portrait"
다양한 해상도 지원
Visual Studio에서 AppDelegate.cpp를 편집한다.
bool AppDelegate::applicationDidFinishLaunching()함수에 다음 내용을 추가한다.
1
2
3
4 |
// 다양한 해상도 지원
Size winSize = Director::sharedDirector()->getWinSize();
glview->setFrameSize(winSize.width, winSize.height);
glview->setDesignResolutionSize(DESIGN_WIDTH, DESIGN_HEIGHT, kResolutionShowAll); |
cs |
getWinSize() 함수는 현재 디바이스의 해상도를 받아오는 역할
setDesignResolutionSize() 함수에 내가 디자인한 해상도를 입력한다.
공통 선언 파일
위의 코드를 보면 DESIGN_WIDTH와 DESIGN_HEIGHT가 있는데 이 것은 cocos2D에서 지원하는 전처리가 아니다.
보다 간편한 개발을 위해서 프로젝트 이름\Classes폴더에 Common.h 파일을 생성하고
이 파일에 앞으로 자주 등장하는 상수를 미리 설정해두는 것이다.
1
2
3
4
5
6
7
8
9
10 |
#ifndef PuzzleTest_Common
#define PuzzleTest_Common
#include "cocos2d.h"
USING_NS_CC;
#define DESIGN_WIDTH 1080.0f
#define DESIGN_HEIGHT 1920.0f
#endif |
cs |
앞으로 이 파일에 내용을 계속 추가해 나갈 것이다.
HellowWorldScene 말고 내가 만든 Scene출력하기
AppDelegate.cpp파일의 bool AppDelegate::applicationDidFinishLaunching() 함수를 보면
1
2 |
// create a scene. it's an autorelease object
auto scene = HellowWorldScene::createScene(); |
cs |
위 와 같은 코드를 찾을 수 있다.
솔루션 탐색기의 HellowWorldScene.cpp와 HellowWorldScene.h파일에 있는 createScene() 함수를 호출하여
Scene을 생성하는 것이다.
이 부분을 다음과 같이 변경한다.
1
2 |
// create a scene. it's an autorelease object
auto scene = CGameLayer::createScene(); |
cs |
그 다음 프로젝트 우 클릭 -> 추가 -> 클래스에서 CGameLayer파일을 생성한다.
CGameLayer.h
1
2
3
4
5
6
7
8
9
10
11
12
13 |
#ifndef PuzzleGame_GameLayer
#define PuzzleGame_GameLayer
#include "Common.h"
class CGameLayer : public cocos2d::Layer {
public:
static cocos2d::Scene* createScene();
virtual bool init();
CREATE_FUNC(CGameLayer);
#endif |
cs |
CGameLayer.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 |
#include "GameLayer.h"
#include "GameObject.h"
#include <stdio.h>
#include <string.h>
USING_NS_CC;
cocos2d::Scene* CGameLayer::createScene() {
//cocos2d::Scene* pScene = cocos2d::Scene::create();
//CGameLayer* pLayer = CGameLayer::create();
auto pScene = Scene::create();
auto pLayer = CGameLayer::create();
pScene->addChild(pLayer);
return pScene;
}
bool CGameLayer::init() {
if (!Layer::init()) { return false; }
// 배경 이미지 출력
cocos2d::Sprite* pBackgroundSprite = cocos2d::Sprite::create("background.png");
pBackgroundSprite->setPosition(cocos2d::CCPointZero);
pBackgroundSprite->setAnchorPoint(ccp((float)0, (float)0));
addChild(pBackgroundSprite);
return true;
} |
cs |
위 소스는 기본적인 틀이다.
CGameLayer.cpp 파일의 24행의 background.png를 출력하는 기능만 추가하였다.
팁 - 문법이 책이랑 조금 다른데?
참고서적이나 기타 블로그 등의 여러 소스를 보면 문법이 서로 다른 것을 알 수 있는데
구버전에서 CCSprite이던 것이 Sprite로 바뀐 것 등이다.
Ctrl+Space키를 누르면 지원되는 메소드를 볼 수 있는데
여기서 비슷한 키워드를 찾아서 사용하면 된다.
다음 게시물에서 이 프로젝트에서 사용할 리소스를 준비하는 과정을 다루겠다.
'안드로이드 > cocos2d-x' 카테고리의 다른 글
퍼즐 게임 만들기3 - 게임화면에 블록 출력하기1 (0) | 2016.01.17 |
---|---|
퍼즐 게임 만들기2 - 배경 이미지, 아이콘 등 리소스 만들기 (0) | 2016.01.17 |
퍼즐 게임 만들기0 - 프로젝트 개요 (0) | 2016.01.16 |
cocos2d-x 프로젝트 생성 및 빌드 테스트 (0) | 2016.01.16 |
윈도우 환경 cocos2d-x 설치하기 (0) | 2016.01.16 |