beta2 로 작업한 게임을 rc0 로 변환하고 싶습니다. 버그 수정도 많이 되었고 최신 버전을 사용하는 것이 좋다고 늘 생각하는지라 변환하는 방법을 정리해 봤습니다.



방법



rc0 에서 새로 프로젝트를 만듭니다. 새로 만든 프로젝트에 이전 프로젝트에서 작성한 코드와 리소스 등을 가져옵니다.

끗!


하하하....


beta2 프로젝트의 Classes 디렉토리 안에 있는 소스들을 새로 만든 rc0 프로젝트의 Classes 디렉토리에 복사해 넣고, Xcode 에서 추가를 해 줍니다. 하위 디렉토리를 가지고 있을 경우, Xcode 에 추가할 때 group 형태로 추가를 합니다.

이때 AppDelegate.h, AppDelegate.cpp 는 제외합니다. 따로 수정을 합시다.


beta2 프로젝트의 Resource 디렉토리 안에 있는 리소스들을 rc0 프로젝트의 Resources 디렉토리에 복사해 넣고, Xcode 에서 추가를 합니다. 하위 디렉토리를 가지고 있을 경우, Xcode 에 추가할 때 folder 형태로 추가를 합니다.


Xcode 에서 project setting 을 새로 해 줍니다. bundle identifier , deployment target , Device , Device Orientation 등등.. 수정해줍니다.


이전에 작업한 앱 아이콘들을 rc0 프로젝트의 proj.ios_mac 디렉토리 아래 ios 디렉토리 안으로 복사해 놓습니다.



adMob 이나 analytics 를 사용할 경우 필요한 Framework 들을 추가해 줍니다.


rc0 프로젝트의 AppDelegate.h, cpp 를 열어서 해상도 대응에 관련된 코드들을 추가해 줍니다.

rc0 프로젝트의 AppController.h, AppController.mm 을 열어서 iAd, adMob, analytics 관련 초기화 코드를 추가합니다.


빌드를 한 번 해보고....

deprecated 된 요소들을 수정해줍니다.


Object 가 Ref 로 변경되었습니다.



바뀐 요소 수정 다 하면, 빌드해서 테스트를 해 봅니다.








Posted by 똑똑한 영장류


RC0 버전에서 내놓은 컴맨드 라인 툴인 cocos 를 이용해서 빌드 후, 실행을 시켜볼 수 있습니다.


bash 쉘에 환경변수들이 잘 설정이 되어있어야겠죠.



cocos 는 PATH 에 추가되어 있으니 아무곳에서나 아래처럼 명령을 내리면 프로젝트가 빌드되어 실행이 됩니다.


$ cocos run -s ~/MyCompany/MyGame -p android


run : 실행시켜라.

-s ~/MyCompany/MyGame : 프로젝트가 있는 디렉토리명입니다.

-p android : 프로세스는 안드로이드용으로 해라! 


-p ios 라고 하면 아이폰 시뮬레이터가 뜹니다.


터미널에서 입력해 봅니다.

빌드가 수행되는 많은 내용이 지나가고....

BUILD SUCCESSFUL 이 뜨고, wait for device 라고 연결되어 있는 진짜 안드로이드 장비를 기다립니다. 현재 안드로이드폰이 없어서 더 이상 진행할 수가 없네요.


실제 기기가 있을 경우에 기기테스트를 할 때 터미널에서 cocos로 지시하는 것이 훨씬 빠르고 편할거 같네요.













Posted by 똑똑한 영장류


아이폰에서 실행이 되도록 Xocde를 이용해서 빌드를 해 보겠습니다.



홈디렉토리 아래에 MyCompany 라는 디렉토리가 있고 그 안에 MyGame 이라고 프로젝트를 만들어놨었죠.




proj.ios_mac 이라는 이름의 디렉토리가 Xcode 를 위한 프로젝트 디렉토리입니다.


그 안에 아래과 같이 프로젝트 파일, MyGame.xcodeproj 가 있습니다.



Xocde 를 실행시키고 저 파일을 불러옵시다.



문제없이 열리는군요. 바로 런 해보겠습니다.




OK! iOS 용으로는 쉽게 빌드가 되는군요.


안드로이드가 걱정이네요.. 안드로이드 경험이 없어서 말이죠..


다음 포스트에서는 안드로이드용으로 빌드를 해 보겠습니다.

























Posted by 똑똑한 영장류

다시금 존대스러운 말투로 포스트를 작성하겠습니다.


Cocos2d-x 3.0 RC0


cocos2d-x 3.0 이 beta 2 를 지나, 이제 rc0 가 배포되었습니다. 이에 맞춰 사용중인 beta2에서 rc0로 업그레이드를 하고 rc0에 맞춰서 개발을 할 것입니다. 


cocos2d-x 를 이용해서 게임을 개발할 때, 저는 맥에서 작업을 합니다.

게임을 iOS 용으로도 배포하고, Android 용으로도 배포를 할 계획이기 때문에 두 가지 모두를 제작하려면 우선 iOS 용 개발이 가능한 맥을 이용할 수 밖에 없습니다. 맥에서 iOS 용을 개발하고 맥에서 Android 용도 개발을 할 것입니다.


현재 개발환경

운영체제 : OS X 10.9.2 Mavericks

iOS 개발 : Xcode 5.1 (5B130a)

Android 개발 : ADT 22.6.1 + NDK r9d + JDK 8




Cocos2d-x 3.0 RC0 다운로드


http://www.cocos2d-x.org/download




설치


설치형이 아니니 원하는 곳에 압축을 풀면 됩니다.


저는 제 맥 계정의 홈디렉토리 아래에 압축을 풀어놓았습니다.


/Users/codecodi/cocos2d-x-3.0rc0




프로젝트 생성


beta2 와는 다른 새로운 방법으로 프로젝트를 생성합니다.

본부의 설명은 아래 링크를 참고할 수 있습니다.


https://github.com/cocos2d/cocos-docs/blob/master/manual/framework/native/getting-started/v3.0/how-to-start-a-new-game/en.md


시키는 대로 하나씩 해 봅니다.


터미널을 하나 열어 cocos2d-x-3.0rc0 디렉토리로 이동 후, setup.py 를 실행시킵시다.



환경변수에 COCOS2D_CONSOLE_ROOT 를 추가를 하고.... NDK_ROOT 환경변수가 NOT FOUND 라는군요.

안드로이드 개발 환경 세팅이 아직 되어있지 않으면 위처럼 NDK_ROOT 환경변수값을 직접 입력하라고 대기를 합니다.

미리 안드로이드 개발 환경을 만들어두고 bash 에 환경변수를 설정해 두는 편이 좋습니다.



옆으로 살짝 새서...


안드로이드 개발 환경 만들기


옆길로 잠깐 새서 간략히 정리하겠습니다.


1. JDK 다운로드 후 설치

http://www.oracle.com/technetwork/java/javase/downloads/index.html


2. ADT bundle 다운로드 후 압축해제

http://developer.android.com/sdk/index.html


3. NDK 다운로드 후 압축해제

http://developer.android.com/tools/sdk/ndk/index.html



2, 3 번 압축 해제 후 ADT bundle 과 NDK 를 같은 디렉토리 안에다 넣어둡시다. (반드시 이렇게 해야하는 것은 아닙니다만, 관련있는것들 한군데 몰아넣으면 디렉토리 구조도 깔끔하고 관리가 편하다고 생각됩니다.)


4. 홈디렉토리에 .bash_profile 수정

setup.py 가 이미 추가해놓은 COCOS_CONSOLE_ROOT 관련 내용이 두 줄 보이네요. 그 뒤로 아래 내용을 추가합시다.


export COCOS_CONSOLE_ROOT=/Users/codecodi/cocos2d-x-3.0rc0/tools/cocos2d-console/bin

export PATH=$COCOS_CONSOLE_ROOT:$PATH


export ANDROID_SDK_ROOT=/Users/codecodi/ADT/sdk

export NDK_ROOT=/Users/codecodi/ADT/android-ndk-r9d




다시 돌아와서....


안드로이드 개발환경도 만들어 놨다고 가정하고 다시 setup.py를 실행시켜봅시다.



이제 ANT_ROOT 가 문제군요.



ANT 설치


 ANT 가 뭔지도 모르는데..ㅡ.ㅡ 설치를 해야하는군요.

구글신의 도움을 받습니다.


아래 주소가 본부입니다.


http://ant.apache.org/



아래는 다운로드 페이지 주소입니다. 

http://ant.apache.org/bindownload.cgi


zip 버전으로 다운을 받습니다. 

apache-ant-1.9.3-bin.zip 

압축을 풀어서 적당한 곳에 넣어둡시다. ( 제가 선택한 적당한 곳은 /usr/share/java/ 아래입니다. ㅎ)


/usr/share/java/apache-ant-1.9.3 이 되겠네요.



다시 .bash_profile 을 수정합니다. 설치된 ant 의 위치를 추가해줘야겠지요.


export ANT_ROOT=/usr/share/java/apache-ant-1.9.3/bin


PATH 에도 추가를 합시다. 

export PATH=$PATH:$NDK_ROOT:$ANDROID_SDK_ROOT:$ANT_ROOT



최종적으로 .bash_profile 에 추가된 내용은 아래와 같습니다.

export COCOS_CONSOLE_ROOT=/Users/codecodi/cocos2d-x-3.0rc0/tools/cocos2d-console/bin

export PATH=$COCOS_CONSOLE_ROOT:$PATH


export NDK_ROOT=/Users/codecodi/ADT/android-ndk-r9d

export ANDROID_SDK_ROOT=/Users/codecodi/ADT/sdk

export ANT_ROOT=/usr/share/java/apache-ant-1.9.3/bin


export PATH=$PATH:$NDK_ROOT:$ANDROID_SDK_ROOT:$ANT_ROOT



이렇게 변경된 환경변수값들이 현재 쉘에 적용이 되도록 아래처럼 입력합니다.


$ source ./.bash_profile


그리고, 다시 setup.py 를 실행시켜봅시다.



문제가 없어 보이는군요.


그럼, 계속해서 진짜 프로젝트를 만들어 보겠습니다.


터미널에서 작업을 합니다.


$ cocos new MyGame -p com.MyCompany.MyGame -l cpp -d ~/MyCompany


cocos : cocos2d-x 가 제공하는 command line tool 입니다. 이걸로 별거 다 할 수 있다고...

new : 새로 프로젝트를 만듭니다.

MyGame : 프로젝트 명입니다.

-p com.MyCompany.MyGame : 안드로이드를 위한 패키지 명입니다.

-l cpp : 프로그램 언어가 c++ 이라는 말이죠. 

-d ~/MyCompany : 새로 만들어질 프로젝트가 위치하게 될 디렉토리입니다. 홈디렉토리 아래에 MyCompany 라는 디렉토리 그 아래에 새로운 프로젝트의 디렉토리가 만들어집니다.


cocos2d-x command tool 이라는 cocos 만 실행시켜봤습니다.


compile, new, run, deploy 명령들이 가능하네요. 터미널에서 컴파일하고 실행시키고 deploy 까지 되는군요.



위 예제처럼 MyGame 프로젝트를 만들어 봅시다.



호~

MyCompany 디렉토리는 미리 만들어두지 않아도 알아서 만들어지는군요. 아래처럼 프로젝트가 잘 만들어졌습니다.


프로젝트 만드는 것까지 하고 다음 포스트에서 iOS 용으로 빌드하는 방법을 살펴보겠습니다. 그 다음은 안드로이드용으로 빌드하는 법을 살펴보겠죠.



수고하셨습니다. ㅎㅎ




















Posted by 똑똑한 영장류