クロスプラットフォームの新しい選択肢「cocos2dx」でスマートフォンアプリを開発! -導入編

はじめに
スマートフォンの普及が急速に進んできた昨今、AndroidとiPhoneのどちらにも対応したアプリの開発が求められるケースが増えてきました。 一般的にはAndroidならJava、iPhoneならObjective-Cといったように、OS毎に異なるプログラム言語での開発を行う必要があり、それがコスト的にもスケジュール的にも開発者を悩ませる要因となっていました。 その悩みを解決するための新しい選択肢として、ワンソースでマルチデバイス向けアプリの開発が可能となるフレームワーク「cocos2dx」をご紹介いたします。cocos2dxとは?
iPhone(iOS)向けの2Dゲームが手軽に開発できることで多くの開発者に使用されているフレームワーク「cocos2d for iPhone」。 それをAndroidやblackberryなどの他プラットフォームにも対応させたのが「cocos2dx」です。 デバイス毎の微調整は必要にはなりますが、事実上ワンソースでの開発が可能となりました。 「cocos2d for iPhone」はObjective-Cでの開発ですが、「cocos2dx」ではC++やLuaを使用して開発します。 http://www.cocos2d-x.org/cocos2dxのインストール
今回はiPhoneとandroid向けのアプリ開発を行いますので、開発環境はMac OS Xを使用します。 またXcode、Eclipse、Android SDK、Android NDKがインストールされていることを前提としています。使用環境
- Mac OS X 10.6.8
- Xcode 3.2.5
- Eclipse 3.7.1
- Android SDK Revision 16
- Android NDK Revision 7
まずはcocos2dxのサイトから本体をダウンロード。 現時点での最新版にあたる「cocos2d-1.0.1-x-0.10.0」を使用します。
ダウンロードページ
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download各種設定
実際にアプリ開発をする前に、インストールしたcocos2dxを開発環境に合わせて設定変更をする必要があります。Xcode用テンプレートのインストール
iPhone開発時に使用するテンプレートをXcodeで使用できるようにします。 ターミナルを起動し、cocos2dxフォルダ配下にあるXcode用テンプレート展開シェル「install-templates-xcode.sh」を実行します。 Xcodeのインストール場所によっては、シェル内の設定変更が必要な場合もありますので実行前にファイルを開いて設定を確認しましょう。Android SDK/NDKのパス設定
今度はAndroid用の設定です。 ターミナルを起動し、cocos2dxフォルダ配下にあるAndroid用プロジェクト生成シェル「create-android-project.sh」を実行します。 こちらもAndroid SDK/NDKのインストール場所によって、シェル内の設定変更が必要になります。 今回使用する環境では下記のように設定しました。プロジェクトの作成
Android用プロジェクト
実際にアプリを開発するためのプロジェクトを作成します。 ターミナルを起動し、前項で設定変更をした「create-android-project.sh」を実行しましょう。 最初にパッケージパスの入力を求められます。 今回開発するアプリは「jp.mdlab.example」にしました。iPhone用プロジェクト
上記でAndroid用プロジェクトは作成できましたが、これだけではiPhone用アプリの開発はできませんので、 別途iPhone用プロジェクトを作成する必要があります。 iPhone用プロジェクトの作成時、Android用プロジェクトと同じプロジェクト名にして 先ほど作成したプロジェクトフォルダに上書きすると、 共通のClassesファイルを使用したiPhone用/Android用それぞれのプロジェクトの作成をすることができます。 共通のClassesファイルを使用することで、iPhone用とAndroid用アプリの同時開発が可能になります。iPhoneでの動作確認
iPhoneでの動作確認は一般的なアプリ開発時の手順と同じです。 前項で作成したexample.xcodeprojファイルをXcodeで開き、 [概要]のプルダウンを「Simulator」に設定してから[ビルドと実行]をクリック。 ビルド完了後にシミュレータが起動し、テンプレートに記述されたプログラムが実行されます。修正前
修正後
ファイルを保存してから再度[ビルドと実行]をクリック。 先ほどHelloWorldScene.cppに加えた修正が反映されていることが確認できます。Androidでの動作確認
続いてandroidでの動作確認です。 Androidは少し複雑で、まずはNDKのビルドから行う必要があります。 ターミナルを開き、先ほど作成したプロジェクト「example」フォルダ内の「android」フォルダに移動。 フォルダ内にある「build_native.sh」を実行します。参考サイト
http://blog.plicatibu.com/how-to-solve-problems-with-build_native-sh-and-android-ndk-r7-on-cocos2d-x/ cocos2dxフォルダ配下のcocos2dx/Android.mkファイルを開き、「LOCAL_CFLAGS」に「-DGL_GLEXT_PROTOTYPES=1」を加えます。
念のため[Project]>[Clean]で一度クリーニングしてからビルド。
[Run]>[Run As]>[Android Application]を選択すればシミュレータで起動できます。
iPhoneでの動作確認時に行った修正も反映されていることが確認できました。
まとめ
cocos2dxの導入からiPhone、Androidでの動作確認方法までご紹介いたしました。 実際にアプリを開発する際には、Xcode上でiOSベースでの開発と動作確認を行いつつ、 ある程度できあがったらNDKのビルドをしてEclipseでの動作確認、という流れになるかと思います。cocos2dxシリーズ
- クロスプラットフォームの新しい選択肢「cocos2dx」でスマートフォンアプリを開発! -導入編
- 「cocos2d x」の開発環境が更に快適に!! -Xcode4対応版
クロスプラットフォーム開発について質問、興味などありましたら、
「マルチデバイスLab.」までお気軽にお問い合わせください。
※株式会社アイ・エム・ジェイのお問い合わせフォームに移動します。
サービスに関するお問い合わせ
