curious4dev

中国旅行、Arduinoなどを使った電子工作、その他色々。

*

Win7(64bit)+cocos2dx-3.2でAndroid開発環境を構築してみた

 

お疲れ様です。高橋です。

ゲームを作る際に、自分で1から細々とした部品を作らなくても良いフレームワークやらエンジンやらが世の中にはあるようです。

調べた所、その2大巨頭がcocos2d-xというフレームワークと、

cocos2dxUnityというゲームエンジン。

unity

cocosもunityも、いずれも複数のプラットフォームに対応したコードを吐き出せるという事ですが、ゲームを作る上で必要な部品を1から作成しなくても良いという所に魅力を感じました。ただし、cocos2d-xはC/C++、unityはC#がデファクトスタンダードのようです。言語的な好みで言えばおそらく私はC/C++よりもC#が好きなはずですが、言語はとりあえずなんとかなると思うので、まずは環境の使い勝手を確かめるため、導入してみました。

環境を構築する上でお世話になったのはこちらのサイトです。この素敵なサイトでの環境構築手順をザックリと書くと、

  • cocos2d-xをDL(ココから)し、C直下に”cocos2d-x”というディレクトリを作成し、展開。

cocos_path

  • AndroidNDKをDL(ココから)し、C直下に”Android”というディレクトリを作成し、展開。

ndk_path

  • pythonをDL(ココから)し、インストールする。(C:\Python27)

python_path

 

  • EclipseのAndroid ネイティブ開発ツールをインストールする(“作業対象”に、同じURLを示しているものが2つ登録されている場合、片方を削除しておかないとインストールが上手くいきませんでした。)

eclipse_plugin

  • EclipseでNDKのディレクトリを指定する(2箇所)

eclipse_ndk_path

eclipse_ndkcpp_path

  • cocos2dxのディレクトリを指定する

eclipse_cocos_path

  • cocosのために環境変数を設定する
C:\cocos2d-x\cocos2d-x-3.2\setup.py
  • cocos新規プロジェクトを作成する
cocos new MyGame -p com.MyCompany.MyGame -l cpp -d D:\projects
  • 作った新規プロジェクトをbuildする
cd /d D:\projects\MyGame\proj.android
build_native.py
  • cocosのライブラリをEclipseにimportする
  • 作った新規プロジェクト(MyGame)をEclipseにimportする

全てが問題なく終わると、パッケージ・エクスプローラーにはlibcocos2dxとMyGameという2つのプロジェクトが生成されます。

eclipse_workingset

 

MyGameのほうで右クリ/デバッグ/Androidアプリケーション、と進めると、下記の画面が出てきます。

and2014112401

この画面を出すまでに大ハマリしてます。

java.lang.UnsatisfiedLinkError: Couldn't load cocos2dcpp: findLibrary returned null

な感じのExceptionが発生し、実行出来ませんでした。

原因はこれです。

avd

もともと303SHというAVDを作って起動させようとしていたのですが、これはIntel Atomをエミュったエミュレータなので、正しく動作しませんでした。CPUタイプをARMにした303SH_ARMというAVDを作って、やっと動かせました。

ってことは、IntelのHAXが使えず、激重なエミュのままという事になります。これは最悪です。ARMのエミュは起動までにものすごく時間が掛かるため、作って試して、のサイクルが遅くなり、モチベーション低下に繋がります。

それと、「新しい事は良い事」と考えておりましたので、cocos2d-xの最新バージョンであるv3.3rc0と、Android NDKをr10cにして、やり方だけ上記のサイトに則って進めてみました。

しかし、最後の起動の所で

Multiple dex files define Lorg/cocos2dx/lib/Cocos2dxAccelerometer

な感じのエラーが出て起動せず。最終的な原因は不明ですが、NDK9+3.3rc0が悪さしていると思われました。3.3はfinalが出てから再チャレンジしてみます。

 

以上、よろしくお願い致します。

 - アプリ開発

  関連記事

歌詞生成アプリ「カナかな?」の動詞をチューニングしてみた。

お疲れ様です。高橋です。 昨日はサーバ周りに熱中してしまってクライアント側を全く …

遅刻の言い訳アプリ ~ボタンの幅を動的に決定~

お疲れ様です。高橋です。 遅刻の言い訳アプリを着々と実装しています。 全体進捗 …

androidアプリの作り方

お疲れ様です。高橋です。 androidアプリの作り方は、ググったところ大体下記 …

街頭インタビュー リリースしてみた

お疲れ様です。高橋です。 リリース 街頭インタビューアプリをリリースしました。 …

8bitサウンドを出すAndroidアプリをリリースしてみた。

お疲れ様です。高橋です。 先日の「Androidで8bitサウンドをモノフォニッ …

選挙運動を疑似体験出来るシミュレータ「衆院選2014」を作った、が。

お疲れ様です。高橋です。 2014年11月21日に衆議院が解散され、12月2日に …

アプリDL状況と言い訳システムの効果について

お疲れ様です。高橋です。 リリースしたアプリのDL状況 3/20(Fri)時点で …

AndroidアプリでHoloGraphLibraryを使ってグラフ描画してみた

お疲れ様です。高橋です。 先日、総務省の統計APIをコールしてデータを取得してく …

Unityでノベルゲームを作る

お疲れ様です。高橋です。 突然ですが、ノベルゲームを作ってみたくなったので、試し …

遅刻の言い訳アプリをリリースしてみた。

お疲れ様です。高橋です。 2/20あたりから、「合理的な遅刻の言い訳生成アプリ。 …