hyoromoのブログ

最近はVRSNS向けに作ったものについて書いています

Cocos2d-xの環境構築


Cocos2d-x 3.0 αが先日リリースされたようですが、今回は安定版の2.1.4を使っていきます。ちなみにXcodeEclipseはインストール済みを想定して書いてますのであしからず。

実施環境

  • Mac OSX 10.8.4
  • Cocos2d-x 2.1.4
  • Android NDK 8e
  • Eqlipse 4.2.2
  • Xcode 4.6.3

今回の目標

開発環境を整えて初期プロジェクトをiOS/Android端末へデプロイする。要はこの記事のトップに貼ってある画像の画面を起動させる事が目標です。

Android NDK のセットアップ

Android DeveloperサイトのNDKページからダウンロードしてきます。ただし、Cocos2d-x 2.1.4バージョンだと NDK r9 を使うとエラーになる為、今回はr8e を使用しました。
ダウンロード出来たらファイルを解凍して適当なディレクトリに配置してください。Android SDKディレクトリと同じ階層に置いておくと分かりやすいと思います。

Eclipse上の環境設定

Eclipseを起動してメニュー上から「Eqlipse >環境設定」を選びます。「Android > NDK」にある「NDKLocation」項目へ「/(Android NDKを配置したディレクトリ)/android-ndk-r8e」を設定します。
同じように環境設定から「C/C++ > Build > Environment」で「Add」ボタンを押下し、「Name」項目に「NDK_ROOT」、「Value」項目に「/(Android NDKを配置したディレクトリ)/android-ndk-r8e」を設定します。

Cocos2d-x のセットアップ

Cocos2d-xのwikiからダウンロードしてきます。Cocos2d-x/Cocos2d-HTML5/Cocos2d-XNAとありますが、Cocos2d-xをダウンロードしてください。
ダウンロード出来たらファイルを解凍して適当なディレクトリに配置してください。なお、Cocos2d-x 内にプロジェクトが生成されたり、tool類があるので分かりやすい場所に置いたほうがいいです。

Android SDK/NDKインストール ディレクトリを設定

cocos2d-x-2.1.4/create-android-project.sh ファイルの最初にある二行を以下のように置き換えます。

NDK_ROOT_LOCAL="/(Android NDKを配置したディレクトリ)/android-ndk-r8e"
ANDROID_SDK_ROOT_LOCAL="/(Android SDKを配置したディレクトリ)/android-sdk"

cocos2d-x-2.1.4/template/android/build_native.sh ファイルの二行目に以下の一文を挿入します。

NDK_ROOT="/(Android NDKを配置したディレクトリ)/android-ndk-r8e"
Cocos2d-xのAndroid向けライブラリ libcocos2dx を追加

Eclipseを起動してメニュー上から「File > Import」を選びます。「Android > Existing Android Code Into Workspace」を選択し、「Import Projects」画面のRoot ディレクトリ項目に「/(cocos2d-xを配置したディレクトリ)/cocos2d-x-2.1.4/cocos2dx/platform/android/java」を指定して「Finish」ボタンを押下します。

プロジェクトを新規作成

ターミナル上から以下のように create_project.py を実行する事でプロジェクトを新規作成できます。以下の例ではプロジェクト名「Cocos2dJsHoge」で、パッケージ名「jp.hoge.cocos2djshoge」で、開発言語「JavaScript」を指定して作成しています。

$ cd cocos2d-x-2.1.4/tools/project-creator
$ ./create_project.py -project Cocos2dJsHoge -package jp.hoge.cocos2djshoge -language javascript
proj.ios		: Done!
proj.android		: Done!
proj.win32		: Done!
New project has been created in this path: /(cocos2d-xを配置したディレクトリ)/cocos2d-x-2.1.4/projects/Cocos2dJsHoge
Have Fun!

create_project.py のオプションは以下のようになっています。

オプション名 意味 具体的な指定名 備考
project プロジェクト名
package パッケージ名 .は2つ以上付けないとエラーになります
language 開発言語 cpp
lua
javascript

実行後のログにエラーが表記されていない事を確認し、問題が無ければ cocos2d-x-2.1.4/projects 以下に作成されたプロジェクトを使用します*1

端末へデプロイ

iOS

以下を実行してXcodeを起動させます。Cocos2dJsHoge にあたる箇所は自身が作成したプロジェクト名に読み替えてください。
/(cocos2d-xを配置したディレクトリ)/cocos2d-x-2.1.4/projects/(プロジェクト名)/proj.ios/(プロジェクト名).xcodeproj

Xcode上のShemeが「cocos2dx」になっている場合は「プロジェクト名」に切り替えてから「Run」してください。これで問題なく起動するはずです。

Android

Eclipseを起動してメニュー上から「File > Import」を選びます。「Android > Existing Android Code Into Workspace」を選択し、「Import Projects」画面のRoot ディレクトリ項目に「/(cocos2d-xを配置したディレクトリ)/cocos2d-x-2.1.4/cocos2dx/projects/(プロジェクト名)/proj.android」を指定して「Finish」ボタンを押下します。
プロジェクトを右クリックして、「Run As > Android Application」を選択すれば端末へデプロイされます。
もしプロジェクト内でエラーが発生している場合、「Android NDK のセットアップ」と「Cocos2d-x のセットアップ」を見直してみてください。

まとめ

Cocos2d-x/Android NDK/Xcodeとバージョン依存が激しそうですね。次回はIDEについて書く予定。

*1:途中でエラーが発生してもプロジェクト作成はされます。ですが、後々どこかしらで問題が発生するので利用するのはやめた方が良いです。