この記事は、インテル® デベロッパー・ゾーンに掲載されている「Creating multi-platform games with Cocos2d-x」(http://software.intel.com/en-us/articles/creating-multi-platform-games-with-cocos2d-x) の日本語参考訳です。
このチュートリアルでは、Windows* 開発環境で Cocos2d-x フレームワークを使って簡単なゲームを開発し、Windows* 8 と Android* 向けにコンパイルする方法を説明します。
Cocos2d-x とは?
Cocos2d-x は、iOS* 向け cocos2d (http://www.cocos2d-iphone.org/) ベースのゲーム (およびインタラクティブ・ブックなどの他のグラフィカル・アプリケーション) 用クロスプラットフォーム・フレームワークであり、Objective-C* の代わりに C++、JavaScript*、または Lua* を使用します。
このフレームワークの 1 つの利点は、単一のコードベースのゲームを開発し、わずかなプラットフォーム固有の変更を加えるだけで、異なるプラットフォーム (Android*、iOS*、Win32*、Windows* Phone、Windows* 8、Mac*、Linux* など) へ展開できることです。
フレームワークのソースコードは、MIT ライセンス (英語) の下で提供されます。
Cocos2d-x の詳細とドキュメントは、http://www.cocos2d-x.org/ を参照してください。
ゲームを開発する
-
http://www.cocos2d-x.org/download からフレームワークの最新バージョンをダウンロードして、開発環境に展開します。このチュートリアルでは、バージョン 2.2.2 を使用し、デスクトップ (C:\Users\felipe.pedroso\Desktop\cocos2d-x-2.2) に展開しています。
-
新しい cocos2d-x プロジェクトを作成するため、このチュートリアルでは Python* スクリプト (create_project.py) を使用します。このスクリプトで、フレームワークを展開したフォルダー内にプロジェクト構造全体を作成します。マシンに Python* ランタイムがインストールされていない場合は、http://www.python.org/download/ (英語) からバージョン 2.7.6 をダウンロードして、インストールします。
-
コマンドプロンプト (cmd.exe) を起動し、次のコマンドを実行します。
- スクリプトフォルダーに移動します (‘project-creator’ フォルダー内でスクリプトを実行することが重要です)。
> cd C:\Users\felipe.pedroso\Desktop\cocos2d-x-2.2\tools\project-creator
- 次のコマンドでスクリプトを実行します。
> python create_project.py -project MyFirstGame -package com.example.myfirstgame -language cpp
パラメーターの説明:
-project: プロジェクト/ゲームの名前
-package: アプリケーションのパッケージ名 (例: com.myCompany.MyFirstGame)
-language: プロジェクトのプログラミング言語 (cpp、lua、JavaScript)注: コマンドプロンプトで Python* コマンドを実行するには、PATH 環境変数に Python* のインストール・フォルダーを追加します。
作成されるプロジェクトには、ゲームのベースコード (クラス)、リソース (イメージ、オーディオなど)、そしてフレームワークでサポートされているプラットフォームごとに 1 つのプロジェクトが含まれます。
- スクリプトフォルダーに移動します (‘project-creator’ フォルダー内でスクリプトを実行することが重要です)。
Win32* アプリケーションをビルドする (Windows* 7 または Windows* 8 デスクトップ・モード)
必要条件:
-
Visual Studio* でプロジェクト・ディレクトリー以下にある proj.win32 フォルダー内の MyFirstGame.sln ファイルを開きます。この例では、英語版の Visual Studio 2012 を使用しています。
-
F6 キーを押して (または [ビルド] > [ソリューションのビルド] を選択して) プロジェクトをビルドし、F5 キーを押して (または [デバッグ] > [デバッグ開始] を選択して) プロジェクトを実行します。
正常に実行されると、次の画面が表示されます。
Windows* ストアアプリをビルドする
必要条件:
Windows* ストアアプリをビルドするには、proj.winrt フォルダー内の MyFirstgame.sln ファイルを開き、Win32* アプリケーションと同じ手順でプロジェクトをビルドします。
ビルド後プロジェクトを実行すると、次の画面が表示されます。
注: このチュートリアルで使用する cocos2d-x は、Windows* 8.1 では動作しません。
Android* アプリケーションをビルドする
必要条件:
上記のツールを使ってアプリケーションをビルドするため、Python* と同じ方法で、Android* SDK のディレクトリー、ツール、プラットフォーム・ツール、Android* NDK のルート・ディレクトリー、そして Apache Ant* の bin ディレクトリーを PATH 環境変数に追加します。
-
新しいコマンドプロンプト (cmd.exe) を起動し、次のコマンドを実行して Android* アプリケーションのコンパイルに必要な環境変数を設定します。
> set COCOS2DX_ROOT=C:\Users\felipe.pedroso\Desktop\cocos2d-x-2.2
> set NDK_TOOLCHAIN_VERSION=4.8
> set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt変数の説明:
COCOS2DX_ROOT
: フレームワークを展開したディレクトリー
NDK_TOOLCHAIN_VERSION
: プロジェクトのビルドに使用する NDK ツールのバージョン
NDK_MODULE_PATH
: NDK ビルドに含める必要があるモジュール。
-
環境変数の設定が完了したら、次のコマンドで Android* プロジェクト・フォルダー に移動します。
> cd C:\Users\felipe.pedroso\Desktop\cocos2d-x-2.2\projects\MyFirstGame\proj.android
-
assets フォルダーにゲームのリソース (イメージ、サウンドなど) をコピーします。
> rmdir /S /Q assets
> mkdir assets
> xcopy /E ..\Resources .\assets -
次のコマンドでネイティブモジュールをビルドします。
> ndk-build.cmd -C .APP_ABI="armeabi armeabi-v7a x86"
このコマンドは、ARM、ARM-NEON*、x86 の 3 つのアーキテクチャー向けのネイティブ・ライブラリーを生成します。これらのアーキテクチャーで、ゲームはこの中から最適なライブラリーを使って実行することができます。
-
次に、ant コマンドで Android* アプリケーションをビルドします。
> ant debug
そして、次のコマンドでデバイスまたはエミュレーターにアプリケーションをインストールします。> adb install -r bin\MyFirstGame.apk
アプリケーションを実行すると、次の画面が表示されます。
これで、Android*、Windows* 7、Windows* 8 の少なくとも 3 つのプラットフォームでゲームを実行できるようになりました!
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。