2012年11月7日水曜日

MacにAndroidのCocos2d-xの開発環境を構築する方法


 Cocos2dはOpenGLをベースとしたマルチプラットフォームのオープンソースな2Dゲームフレームワークです。
ターゲットはAndroid、iOS、Mac、Windows、Linux、その他多岐にわたります。
記述言語はC++、Objective-C、Javaなど、多数の言語に対応した開発環境がリリースされています。

 C++用のCocos2d開発環境であるCocos2d-xでAndroidの開発を行う環境をMac OS X上に構築する方法を説明します。
 前提条件として、Mac OS Xに、EclipseとAndroid SDK および NDK が既にセットアップされているものとします。

・Cocos2d-xをダウンロード
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download
 ここからCocos2d-xの開発環境をダウンロードします。
 今の最新バージョンは、cocos2d-2.0-x-2.0.4.zip でした。
 以下、このバージョンで説明しますが、こまめにアップデートされているようなので、バージョンが異なっていたら適宜読み替えて下さい。

・インストール
 ダウンロードした開発環境を解凍して、フォルダごと任意のフォルダにコピーします。
ここでは、解凍された cocos2d-2.0-x-2.0.4 フォルダを ~/dev にコピーしました。

・設定
 cocos2d-2.0-x-2.0.4 フォルダの直下にある、create-android-project.sh をテキストエディタで修正します。
 「NDK_ROOT_LOCAL」と「ANDROID_SDK_ROOT_LOCAL」を自分の環境に合わせてそれぞれAndroid SDKとAndoird NDKのフォルダを設定します。
例えば、以下のように修正します。
NDK_ROOT_LOCAL=~/dev/android-ndk
ANDROID_SDK_ROOT_LOCAL=~/dev/android-sdk-macosx
※元のcreate-android-project.sh には"が入っていますが、~を使う場合は"を消しておきます。

 create-android-project.sh を修正したくない場合は、環境変数NDK_ROOTとANDROID_SDK_ROOT を設定しておくと、その値が使われます。
 NDKの開発環境をセットアップ済みであれば、NDK_ROOTは既に設定されていると思います。

・プロジェクトの生成
 ターミナルを起動し ~/dev/cocos2d-2.0-x-2.0.4 にディレクトリ移動して、create-android-project.sh を実行します。

パッケージ名の入力を促されるので、入力します。例えば、
com.kayosystem.android.cocostest
このように入力します。

 パッケージ名を入力すると、対応するAndroidのバージョンリストが表示されますので、リストを見て対象となるAndroidバージョンに該当するid番号を入力します。
ここでは、Android2.2をターゲットとして 5 と入力します。

 プロジェクト名を入力します。
ここでは Cocostest と入力します。

 これで、cocos2d-2.0-x-2.0.4 フォルダの下にCocostest というプロジェクトのフォルダが生成されます。

・eclipseにプロジェクトをインポート
 eclipseを起動し、先に生成したプロジェクトをインポートしますが、その前に、Cocos2dxライブラリをインポートしておきます。

eclipseのメニューから
「file」 ー 「import」を選択してダイアログを表示。
「Existing Projects Into Workspace」を選択して「Next」ボタンを押下します。
「Select root directory」の「Browse」ボタンを押下してcocos2d-2.0-x-2.0.4 フォルダの下の、cocos2dx/platform/android を選択し「開く」ボタンを押下します。
「Finish」ボタンを押下して libcocos2dx をインポートします。
このとき、「copy projects into workspace」にチェックを入れないようにします。

 次に、同様の手順でcocos2d-2.0-x-2.0.4 フォルダの下のCocostest プロジェクトをインポートします。

・NDKのビルド
 ターミナルで、プロジェクトフォルダの下のproj.android フォルダにディレクトリ移動します。
 build-native.sh を実行します。
 NDKのビルドが実行され、libs/armeabi フォルダにlibgame.so が生成されます。

・Androidプロジェクトのビルド
 eclipseでCocostestプロジェクトを選択し、ビルドします。NDKのビルドを行った後は必ず、eclipseで再ビルドして下さい。
 ここまで、エラー等起きていなければ、これでAndroidアプリが生成されています。
 実機に転送して実行すると、Hello Worldが表示されます。

・実際の開発
 プロジェクトフォルダ直下のClasses フォルダにあるC++のソースがプログラムの実体になります。
 ここでテキストエディタなりを用いてC++のプログラムを修正、あるいは作成してターミナルからNDKのビルド、eclipseでAndroidプログラムを生成という開発サイクルになります。
HelloWorldScene.cpp の54行目
CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Thonburi", 34);
この行の文言を修正して、再ビルド後、画面に反映されることを確認してみてください。


テキストエディタやターミナルを使わずにeclipseだけでの開発も可能ですが、そのための環境設定については次回解説したいと思います。

0 件のコメント:

コメントを投稿