連載
» 2013年02月25日 18時00分 公開

C++でクロスプラットフォームを実現するCocos2dx入門(前編):Cocos2dxでiOS/Androidの2Dゲーム開発を始めるには (2/3)

[森本数馬,グリー]

Cocos2dxでAndroidアプリを開発するには

 Androidアプリ開発はEclipseで行います。開発環境はMacでもLinuxでもWindowsでもかまいませんが、本記事ではMacで説明を進めます。

 また、併せてADTプラグイン、Android SDKAndroid NDKが必要です。

 Eclipse、ADTプラグイン、Android SDKの設定は、一般的なAndroidアプリ開発と全く同じなので、ここでは割愛しますが、以下の記事などを参照してください。

 Android NDKについては、どこか適当なディレクトリで展開しておくだけで問題ありません。

 また、ローカルに先ほど取得したCocos2dxのソースコードが展開されている必要があります。

Android用Eclipseプロジェクト作成

 最初にEclipseで開発可能なプロジェクトをコマンドラインで生成します。以下のように、Cocos2dxのソースコード展開後のトップディレクトリに移動し、Android SDK、Android NDKへパスを通し、「create-android-project.sh」を実行してください。

$ cd cocos2d-2.0-x-2.0.4/
$ export NDK_ROOT=/Users/hogehoge/Work/android-ndk-r8b/
$ export ANDROID_SDK_ROOT=/Users/hogehoge/Work/android-sdk-macosx/
$ ./create-android-project.sh

 入力を求めるプロンプトとともに、以下のように出力されます。入力内容はそれぞれパッケージ名、ターゲットとするAndroidのバージョン、プロジェクト名です。ここでは、それぞれ「org.cocos2dx.mytest」「1」「mytest」を入力しました

use global definition of NDK_ROOT: /Users/hoge/Work/android-ndk-r8b/
use global definition of ANDROID_SDK_ROOT: /Users/hoge/Work/android-sdk-macosx/
Input package path. For example: org.cocos2dx.example
org.cocos2dx.mytest
Now cocos2d-x supports Android 2.2 or upper version
Available Android targets:
----------
id: 1 or "android-12"
Name: Android 3.1
Type: Platform
API level: 12
Revision: 3
Skins: WXGA (default)
ABIs : armeabi
----------
:
:
:
----------
input target id:
1
input your project name:
mytest
Created project directory: /Users/hoge/Work/GreePlatformSDKCocos2dx/cocos2d-2.0-x-2.0.4/mytest/proj.android
:
:
:
Resolved location of library project to: /Users/hoge/Work/GreePlatformSDKCocos2dx/cocos2d-2.0-x-2.0.4/cocos2dx/platform/android/java
Updated project.properties
Updated local.properties
Updated file /Users/hoge/Work/GreePlatformSDKCocos2dx/cocos2d-2.0-x-2.0.4/greetest/proj.android/proguard-project.txt

 これで、Cocos2dxトップディレクトリ以下に「mytest」というディレクトリが生成されました。生成されたディレクトリを見てみましょう。

 「proj.android」以下にはAndroid依存コード、「Resources」以下にはリソースデータが入っており、ゲームの実装コードは「Classes」以下に配置されています。今回は、HelloWorldScene.cppがメインの実装コードです

Eclipseへのインポート

 以降の処理はEclipseで行います。Eclipseを起動後、Cocos2dxCoreのJavaコードと、先ほど作成したプロジェクトをインポートします。

 Eclipseの[ファイル]→[新規]→[その他]を選択し、[既存コードからのAndroidプロジェクト]を選択します。

 [参照]から先ほどのcocos2d-2.0-x-2.0.4以下の「cocos2dx/platform/android/java/」を選択します。

 [完了]を押すと、Cocos2dxCoreのJavaコードがインポートされます。同様のやり方で、先ほど生成した「mytest/proj.android/」もインポートしてください。

 [プロジェクト・エクスプローラー]にインポートした2つのプロジェクトが見えればOKです。

 これでJava部分のビルドは実行可能になりましたが、Cocos2dxではC++で実装されたNativeコードもビルドする必要があります。こちらはコマンドラインでも可能ですが、今回はEclipseから実行することにします。

 EclipseでC++のビルドを行う場合は、CDTプラグインが必要です。CDTプラグインをインストールするためには、Eclipseの[ヘルプ]→[新規ソフトウェアのインストール]を選択します。

 以下のようなウィンドウが表示されるので、作業対象から使用しているEclipseにあったURLを選択します。筆者の場合ですとEclipse 4.2 Junoを使用しているので、「Juno - http://download.eclipse.org/releases/juno」を選択しています。

 すると、使用可能なプラグインが表示されるので[プログラミング言語]→[C/C++開発ツール]を選択してください。これでCDTプラグインがインストールされます。

 ではNativコードのビルドを行いましょう。Eclipseの[ファイル]→[新規]→[その他]を選択し、今度は[C/C++プロジェクトへ変換]を選択します。

 表示されたウィンドウ上部の[変換候補]から自分の作成したプロジェクトを選択しチェックを入れます。また、[プロジェクト・タイプ]から「Makefileプロジェクト」を選択し完了します。

 これでプロジェクトのNativeコードのビルドが可能となります。後はNDKのパスを教えてあげ、ビルド時に実行するコマンドを指定すればOKです。

 [プロジェクト・エクスプローラー]で自分のプロジェクトを選択し、右クリックして[プロパティー]を選択します。

 [C/C++ Build]→[Environment]を選択し、変数「NDK_ROOT」を追加し、Android NDKのパスを指定します。

 同様に[プロパティー]から、[C/C++ Build]を選択し、[デフォルト・ビルド・コマンドを使用]のチェックを外すとともに、「bash 」に続けて、作成したプロジェクト以下の「proj.android/build_native.sh」を指定します。

 これでEclipseでビルド実行時に上記のbuild_native.shが実行され、その中でAndroid NDKの「ndkbuild」が実行されます。

 以上で全ての必要な準備は整いました。以下のボタンをクリックすると、ビルドが実行できます。

 ビルドが完了したら実行してみましょう。シミュレーターでも実機でも構いません。

 シンプルですが、Cocos2dx側でリソースが描画されています。アプリのコードは、この場合ですと「mytest/Classes/」以下に配置されており、その中のC++コードを編集すれば、表示されているオブジェクトを動かすことも簡単に実現できます。

 以上がEclipseを使用したCocos2dxアプリの開発ステップです。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。