rabbit-dev

現役スマフォプログラマーが適当にプログラム関係の記事を放り込むブログ

cocos2dx(cocos2d-x-2.2.2)の導入について

cocos2d-x-2.2.2 でAndroid/iPhoneの両方でビルドをするための手順です。

 

準備

Cocos2dx 2.2.2 

 http://www.cocos2d-x.org/download

X-Code ( iPhoneアプリを作る場合 )

 MacのAppStoreよりインストール

ADT ( Androidアプリを作る場合 )

 http://developer.android.com/sdk/index.html

Android NDK( Androidアプリを作る場合)

 https://developer.android.com/tools/sdk/ndk/index.html

 

Cocos2dxインストール

まずはCocos2dxを適当なフォルダに解凍します。今回はホームフォルダにdevというフォルダを作ってその下に解凍します。

 

f:id:rabbittan:20141004182801p:plain

 

これでインストールは完了

プロジェクトを作る

プロジェクトを作る場合はcocos2dx/tools/project-creator/create_project.pyを実行する。与えるパラメータは以下のとおりである。

 

create_project.py -project プロジェクト名 -package パッケージ名 -language 開発言語

 

例えば以下の設定でプロジェクトを作成したい場合は、、、

 プロジェクト名:sample_cocos2dx

 パッケージ名:com.cocos2dx.sample(「.」が3つ以上になると正常に動かない可能性あり)

 開発言語:C++

以下を実行することになります。

 ./create_project.py -project sample_cocos2dx -package com.cocos2dx.sample -language cpp

f:id:rabbittan:20141004182802p:plain

 

正常にプロジェクトが作成されると、Have Fun!が表示されます。

作られたプロジェクトはcocos2dx/projectsフォルダに格納されます。

 

フォルダ構成

cocos2dxで作成されたプロジェクトのフォルダ構成で重要なのは、

・Classes   : ソースコードを格納

・Resources : リソースファイル(画像などのデータ)を格納

の2つです。

 

動かしてみる iPhone

iPhoneで動かしてみましょう。

作成したプロジェクトフォルダに有る/proj.ios/sample_cocos2dx.xcodeprojを開いてください。

開いたら以下の画面になるので赤枠のボタンを押してビルドを行います。

 

f:id:rabbittan:20141004182803p:plain

 

できあがり

 

f:id:rabbittan:20141004182804p:plain

 

 

動かしてみるAndroid

まずは、ADTでCocos2dxを利用できるようにCocos2dxを設定する。

 .bashrc(Windowsの場合は環境変数)に以下の設定を加える。

  ※本設定はApplications以下にインストールした場合です。

export NDK_ROOT=/Applications/android-ndk-r9c

export ANDROID_HOME=/Applications/adt-bundle-mac-x86_64-20131030/sdk

 

次にeclipseの環境設定→C/C++→CodeAnalysisでSyntax and Semantic Errorsのチェックを外す。

f:id:rabbittan:20141004182805p:plain

 

  あとは、eclipseでcocos2dx以下にあるcocos2dxをインポートする。

そうするとlibcocos2dxというプロジェクトがインポートされる。

 

f:id:rabbittan:20141004182806p:plain

 

あとは、自分が作った(cocos2dx/projects以下にあるプロジェクトをインポートして

 ビルドを実行すれば完了!

 

最後に

ソースコードを追加するときにiPhoneであれば何も気にしなくても良いが、Androidの場合はproj.android/jni/Android.mkにファイルを追加する必要がある。

 

f:id:rabbittan:20141004182807p:plain