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が出てから再チャレンジしてみます。

 

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

 - アプリ開発

  関連記事

総務省統計APIで引っ張ったデータをHoloGraphLibraryで可視化してみた

お疲れ様です。高橋です。 先日の「総務省の統計APIからデータを取得する」ではデ …

街頭インタビュー生成アプリ

お疲れ様です。高橋です。 街頭インタビューっぽいアプリ 街頭インタビューっぽい画 …

Win7(64bit)+Unity4.5.5f1で作った物をAndroidエミュで動かしてみた

お疲れ様です。高橋です。 先ほどはcocosを使ったサンプルをエミュで動かす所ま …

西野カナ風な歌詞自動生成「カナかな?」をリリースしてみた。

お疲れ様です。高橋です。 昨日はずっと助詞に関する実装をしていたのですが、どうし …

選挙運動シミュレータ「衆院選2014」が迷走してきた。

お疲れ様です。高橋です。 選挙運動シミュレーションゲーム「衆院選2014」の見た …

遅刻の言い訳提案システム 稼働四日目

お疲れ様です。高橋です。 本日も遅刻の言い訳提案システムのデータの分析と改善のた …

寝坊検知&遅刻の言い訳提案システム #2

お疲れ様です。高橋です。 昨日作った遅刻の言い訳提案システムですが、Tweetの …

街頭インタビュー 入力UI実装

お疲れ様です。高橋です。 今日は文字入力UI及び、背景人物の切り替え機能を実装し …

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

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

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

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