Cocos2dxでiOS/Androidの2Dゲーム開発を始めるには:C++でクロスプラットフォームを実現するCocos2dx入門(前編)(2/3 ページ)
スマホ向けゲームアプリ開発フレームワークの概要や使い方を解説。JavaScriptやHTML5にも対応しています。
Cocos2dxでAndroidアプリを開発するには
Androidアプリ開発はEclipseで行います。開発環境はMacでもLinuxでもWindowsでもかまいませんが、本記事ではMacで説明を進めます。
また、併せてADTプラグイン、Android SDK、Android 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.