最近、ゲーム業界に面接を受けて気づいたことは「Unity」より「Cocos2d-x」を使ってる感じでした。
UnityとCocos2-dx両方ともまだまだ初歩なんだけど、個人的にはUnityの方が開発しやすいし
ソースコードをコピペするだけですぐプラットフォームの切り替えが速い。
cocos2d-xは開発環境を整えるのに時間が掛かりすぎる!!と思って少しまとめてみました。
#ダウンロード
###Cocos2d-x
・http://www.cocos2d-x.org/download
・筆者のバージョンは「v3.0alpha0-pre」です。
・Cocos2d本体
###Android SDK
・http://developer.android.com/sdk/index.html
・筆者のバージョンは「adt-bundle-windows-x86_64-20130729」です。
・Andorid開発に必須
###Pleiades Eclipse(JavaまたはUltimate)
・http://mergedoc.sourceforge.jp/
・筆者のバージョンは「pleiades-e4.3-ultimate-jre_20130626」です。
・開発ツール
###Android NDK
・http://developer.android.com/tools/sdk/ndk/index.html
・筆者のバージョンは「android-ndk-r9-windows-x86_64」です。
・C++ -> Javaにコンパイル
###Cygwin
http://cygwin.com/install.html
・筆者のバージョンは「1.7.25」です。
・Windowsでシェルスクリプトやコンパイルするため
・追加インストールで「Devel -> Make」をインストール
###Python(PleiadesをUltimateでタウンロードした方は無視してもいい)
・http://python.org/download/
・筆者のバージョンは「python-3.3.2.amd64」です。
・「create-multi-platform-projects.py」のPythonソースコードでマルチプラットフォームのプロジェクトを作るため
#Windows環境変数
・Pathにそれぞれパスに合わせて入れてください。
・筆者は下記と同じです。
例 : D:\Programs\cygwin64\bin;/cygdrive/d/Programs/cygwin64/bin;D:\Programs\Python33;
・cygdriveはCygwinでLinux風なパスです。
#Cygwin設定
・「Cygwinパス\etc\fstab」に1行追加(テキストエディタで開く)
none /cygdrive cygdrive binary,noacl,posix=0,user 0 0
#Eclipse設定
・「ウィンドウ -> 設定 -> 一般 -> ワークスペース -> リンクされたリソース」にCocos2d-xルートパスを追加
・「ウィンドウ -> 設定 -> Android -> NDK」にAndroid NDKルートパスを追加
・「ウィンドウ -> 設定 -> C/C++ -> ビルド -> 変数に追加
・「libcocos2dx」ライブラリをプロジェクトにインポート
- ファイル -> 新規 -> プロジェクト -> Android -> 既存コードからのAndroid プロジェクト
- 「Cocos2d-xルート/cocos2dx/platform/android/java」を選択
#Android SDKマネージャー設定
・Android 4.3, 3.2 2.3のSDK Platformをそれぞれダウンロード
#Android 仮想デバイス・マネージャー
・Android Virtual DeveiceのAndroid 4.3, 3.2, 2.3を追加
#TestCPPを実行
- ファイル -> 新規 -> プロジェクト -> Android -> 既存コードからのAndroid プロジェクト
- 「Cocos2d-xルート/cocos2dx/samples/Cpp/TestCpp/proj.android/」を選択
- 「実行 -> 実行」
#その他
・サンプル実行中に下記のエラーが出たら仮想デバイスに「ホストGPUを使用する」をチェック
09-16 01:49:34.764: E/AndroidRuntime(332): FATAL EXCEPTION: GLThread 10
09-16 01:49:34.764: E/AndroidRuntime(332): java.lang.IllegalArgumentException: No configs match configSpec
09-16 01:49:34.764: E/AndroidRuntime(332): at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:763)
09-16 01:49:34.764: E/AndroidRuntime(332): at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:919)
09-16 01:49:34.764: E/AndroidRuntime(332): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1264)
09-16 01:49:34.764: E/AndroidRuntime(332): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1118)
#参考
・http://www.slideshare.net/doraemonsss/windowscocos2dx-212android
・Cocos2d-xの本体\samples\Cpp\TestCpp\proj.android\README.md