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

 

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

 - アプリ開発

  関連記事

DLリンク付き言い訳提案システムとDL数の関係について

お疲れ様です。高橋です。 DLリンク付きの言い訳提案システムを1週間稼働させ、そ …

遅刻の言い訳提案システムとウコンの力

お疲れ様です。高橋です。 現在稼働を続けている遅刻の言い訳提案システムは、改めて …

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

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

SurfaceViewを使って絵を書き動かすサンプルをコピペして動かしてみた

お疲れ様です。高橋です。 本日はcocos2d-xの3.3rc0を導入しようと試 …

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

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

Google Play Developer登録

お疲れ様です。高橋です。 本日は引き続きwordpress周りの設定を行うと同時 …

Androidで8bitサウンドをモノフォニックな感じで実装してみた。

お疲れ様です。高橋です。 Arduino+YMZ294で、8bitサウンドがマイ …

8bit音アプリを実機デバッグし、モスキート音モードを追加してみた。

お疲れ様です。高橋です。 今日会社でAndroidを持っている人にインストールし …

「カナかな?」の2週間分のダウンロード数

お疲れ様です。高橋です。 本日の貴重な帰宅後の時間は、妻からの「なんとかっていう …

Androidアプリ作りと設計

お疲れ様です。高橋です。 ウォーターフォール型人間である私は、作りたいものをイメ …