Cocos2d-x環境構築
以前ハッカソンをやったときにCocos2d-xを触ってみたのでそのときのメモ。環境はMac
ダウンロード
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Downloadからcocos2d-2.0-x-2.0.4みたいのをダウンロード。解凍したファイルを任意のフォルダに移動 。
iOS 手順
テンプレートのインストール
sh cocos2d-2.0-x-2.0.4/install-templates-xcode.sh -u
プロジェクト作成
- Xcode起動
- 新規プロジェクト作成
- cocos2d-xテンプレートが追加されているので選択
- 作成されたプロジェクトをRunすれば起動する
Android 手順
.bash_profile等でSDK Path設定
export NDK_ROOT="/SDKs/adt-bundle-mac/ndk/"
export ANDROID_SDK_ROOT="/SDKs/adt-bundle-mac/sdk/"
EclipseにCocos2dxライブラリをインポート
- file->importを選択
- Existing Projects Into Workspaceを選択
- Select root directoryでcocos2d-2.0-x-2.0.4フォルダの下の、cocos2dx/platform/android を選択
- Finishを選択してlibcocos2dxをインポート
- このときcopy projects into workspaceにチェックを入れないようにする
Android Project作成
ビルド
proj.androidにあるbuild-native.shを実行。このとき、Android Projectをcocos2d-2.0-x-2.0.4/から移動してるとエラーになるので.bash_profileに以下を追加
export COCOS2DX_ROOT="/SDKs/cocos2d-2.0-x-2.0.4"
さらに、build_native.shのCOCOS2DX_ROOTをコメント化
#COCOS2DX_ROOT="$DIR/../.."
これで、一応Eclipseでビルドして実行できるようになる。
やや無理矢理な感じがするけど、cocos2d-x直下にandroidプロジェクトを置けってことなんだろうか...
ちなみにソースを追加した場合jni/Android.mkのリストにも追加する必要がある。
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
../../Classes/GameOverScene.cpp
iOS、Androidソース統合
Androidプロジェクト作成後、Xcodeプロジェクト作成して、ディレクトリ構成を以下みたいにして、Xcodeプロジェクトごちゃごちゃいじった。もっと効率的に作成する方法があるんだろうか。
Hackathon/
├── Classes # Android、iOSともにこのディレクトリのソースを参照
├── Resources # Android、iOSともにこのディレクトリのリソースを参照
├── proj.android
│ ├── assets
│ ├── bin
│ │ ├── classes
│ │ └── res
│ ├── gen
│ │ └── jp
│ ├── jni
│ │ └── hellocpp
│ ├── libs
│ │ └── armeabi
│ ├── obj
│ │ └── local
│ ├── res
│ │ ├── drawable-hdpi
│ │ ├── drawable-ldpi
│ │ ├── drawable-mdpi
│ │ ├── drawable-xhdpi
│ │ ├── layout
│ │ └── values
│ └── src
│ ├── jp
│ └── org
└── proj.ios
├── Hackathon
│ ├── Resources
│ ├── ios
│ └── libs
└── Hackathon.xcodeproj
├── project.xcworkspace
└── xcuserdata