2014年4月25日金曜日

Cocos2d-x v3.0.0 の環境設定

ようやくv3.0.0の正式版がリリースされた事ですし、Cocos2d-x v3.0.0 で環境設定して iOS/Android向けにビルドするところまでのエントリーを書きます。
※Mac OS X でのセットアップ前提で書いています。

Cocos2d-x インストール

公式サイトのダウンロードページから「Cocos2d-x Download v3.0」をダウンロードしてださい。
http://www.cocos2d-x.org/download

環境のセットアップ

DLしてきた Cocos2dx フォルダを任意ディレクトリに配置します。次に、Cocos2dxフォルダ直下にある setup.py を以下のように実行します。なお、実行にあたり Python 2.7 をインストールしておく必要があります
$ ./setup.py
問題なく実行されていれば、~/.bash_profile に COCOS_CONSOLE_ROOT パスが追加されます。試しにTerminalを再起動して cocos パスが通るか確認してみると成功しているか判断出来ます。

プロジェクトを新規作成

プロジェクト作成したいディレクトリにて、以下のようにコマンド実行します。ProjectName は作成したいプロジェクト名を、com.subakolab.projectname にはパッケージ名を、cppは作成言語(cppならC++、luaならLua言語で作成されます)。
cocos new ProjectName -p com.subakolab.projectname -l cpp

iOS向けの環境設定

ますは XcodeiOS Dev Center もしくは App Store からダウンロードしてください。

Terminalからビルドして起動させる

Xcodeの メニュー > Properties から設定画面を表示させ、Locations > Command Line Tool に最新のXcodeバージョンを設定します。これでTerminalからビルドしてシミュレータにデプロイして起動する事が可能になります。
次に先ほどパスを通した cocosコマンド を使用し、以下のように実行させます。なお、ProjectNameは実行するプロジェクトのルートパスとなります。
$ ProjectName
$ cocos run -s ProjectName -p ios

コマンドエラー

もしコマンド実行時に以下の様なエラーが発生する場合、先ほど行ったXcodeでの設定にミスがあるので見直してみてください。
$ cocos run -s Truck -p ios
Runing command: compile
Building mode: debug
xcrun: error: active developer path ("/Applications/Xcode_5.0.2.app/Contents/Developer") does not exist, use xcode-select to change
Xcode wasn't installed

Xcodeからビルドして起動させる

cocosコマンドで手軽にデプロイ出来ますが、プロジェクト内容の更新が必要な場合はXcodeを起動させてメンテナンスする必要があります。[プロジェクト名/proj.ios_mac] ディレクトリにxcodeprojファイルがありますので、Xcodeで起動してビルドします。

Android向けの環境設定

Android SDKAndroid NDK をダウンロードしてきます。
次に、~/.bash_profileファイル に以下の環境変数 NDK_ROOT/ANDROID_SDK_ROOT を設定します。
例えば以下のように設定します。
NDK_ROOT=/(Path)/android-ndk-r9
export NDK_ROOT
ANDROID_SDK_ROOT=/(Path)/android-sdk
export ANDROID_SDK_ROOT

Terminalからビルドして起動させる

Terminal上でAndroidビルドしたい場合は、apache ant をダウンロードして、~/.bash_profileファイルANT_ROOT を追加します。
ANT_ROOT=/(Path)/apache-ant-1.9.3/bin
export ANT_ROOT
iOSと同じようにcocosコマンドを使い、Terminalからビルドしてシミュレータにデプロイして起動する事が出来ます。-p オプションは android にしてください。なお、シミュレータ起動もしくは端末をUSB接続しておく必要があるので注意してください。
$ cocos run -s ProjectName -p android

コマンドエラー

もしコマンド実行時に以下の様なエラーが発生する場合、先ほど行った ~/.bash_profileファイルの環境変数の指定を見直してみてください(以下の例だとANT_ROOTの設定漏れ)。
$ cocos run -s Truck -p android
Runing command: compile
Building mode: debug
ANT_ROOT not defined. Please define it in your environment

Eclipseからビルドして起動させる

Eclipseに libcocos2dx プロジェクトをインポート
  1. Eclipseを起動してメニュー上から File > Import を選択
  2. Android > Existing Android Code Into Workspace を選択
  3. Import Projects画面のRoot ディレクトリ項目に /(cocos2d-xを配置したディレクトリ)/cocos2d-x-3.0.0/cocos2d/cocos/2d/platform/android/java を指定してFinishボタンを押下

作成プロジェクトをインポート
  1. Eclipseを起動してメニュー上から File > Import を選択
  2. Android > Existing Android Code Into Workspace を選択
  3. Import Projects画面のRoot ディレクトリ項目に作成プロジェクトを指定してFinishボタンを押下
ビルド
以下のコマンドで libcocos2dcpp.so ファイルが作成されます。ソースコードを修正したら毎回実行してください。
$ ./ProjectName/proj.android/build_native.py

これで色々な手続きは終了ですので、Eclipseから端末へデプロイしてください。

ビルドエラーが発生する場合
エラーになりやすい内容が2つあります。まずはプロジェクトのProperties画面を表示して、以下の項目を確認してみてください。
  • Resource > Linked ResourcesPath Variables 内容。COCOS2DX の値内容などに間違いがありませんか?
  • Android > Library 内容。先ほどインポートした libcocos2dx プロジェクトの参照は有効状態ですか?

おまけ (v2 → v3への移行方法)

Cocos2dx公式のGitHubページにv2.1 と v3.0 との差分が書かれてあります。こちらを参考にすれば大抵解決します。その中でもだいたいこれやっておけば解決しそうな事を書いておきます。
https://github.com/cocos2d/cocos2d-x/blob/v3/docs/RELEASE_NOTES.md

それでも解決しそうに無い場合は以下のことを試してみると良いかもしれません。

先頭のCCを削除

v2 → v3の変更内容で一番多いのが、先頭の「CC」除去。なので、CCを消すだけで大抵のdeprecatedは解決します。

プリミティブ型+CCStringはValueへ変更

CCIntegerやCCStringをValueにひとまとめされました。公式のここを読むと使い方が分かります。

Cocos2dxソースコードを読む

オープンソースなのでソースを読むのが一番手っ取り早いです。例えばXcodeの場合だと、クラスや変数に対して「cmd+クリック」で該当ソースコードへ移動出来ます。
例えば kTargetIpad は v3.0.0 からdeprecated扱いになっており、ソースコードを読むと以下のようになっています。
CC_DEPRECATED_ATTRIBUTE const Application::Platform kTargetIpad         = Application::Platform::OS_IPAD;
kTargetIpad の代わりに Application::Platform::OS_IPAD に変えれば良い事が分かります。

0 件のコメント:

コメントを投稿