Win7(64bit)+cocos2dx-3.2でAndroid開発環境を構築してみた
お疲れ様です。高橋です。
ゲームを作る際に、自分で1から細々とした部品を作らなくても良いフレームワークやらエンジンやらが世の中にはあるようです。
調べた所、その2大巨頭がcocos2d-xというフレームワークと、
cocosもunityも、いずれも複数のプラットフォームに対応したコードを吐き出せるという事ですが、ゲームを作る上で必要な部品を1から作成しなくても良いという所に魅力を感じました。ただし、cocos2d-xはC/C++、unityはC#がデファクトスタンダードのようです。言語的な好みで言えばおそらく私はC/C++よりもC#が好きなはずですが、言語はとりあえずなんとかなると思うので、まずは環境の使い勝手を確かめるため、導入してみました。
環境を構築する上でお世話になったのはこちらのサイトです。この素敵なサイトでの環境構築手順をザックリと書くと、
- cocos2d-xをDL(ココから)し、C直下に”cocos2d-x”というディレクトリを作成し、展開。
- AndroidNDKをDL(ココから)し、C直下に”Android”というディレクトリを作成し、展開。
- pythonをDL(ココから)し、インストールする。(C:\Python27)
- EclipseのAndroid ネイティブ開発ツールをインストールする(“作業対象”に、同じURLを示しているものが2つ登録されている場合、片方を削除しておかないとインストールが上手くいきませんでした。)
- EclipseでNDKのディレクトリを指定する(2箇所)
- cocos2dxのディレクトリを指定する
- 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つのプロジェクトが生成されます。
MyGameのほうで右クリ/デバッグ/Androidアプリケーション、と進めると、下記の画面が出てきます。
この画面を出すまでに大ハマリしてます。
java.lang.UnsatisfiedLinkError: Couldn't load cocos2dcpp: findLibrary returned null
な感じのExceptionが発生し、実行出来ませんでした。
原因はこれです。
もともと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アプリの作り方は、ググったところ大体下記 …
-
遅刻の言い訳提案システム 稼働三日目 ~大失敗~
お疲れ様です。高橋です。 三日目を迎えた遅刻の言い訳提案システムですが、重大なバ …
-
リリースした事をスッカリ忘れていた2つのアプリの今について。
お疲れ様です。高橋です。 最近すっかりArduinoにハマってしまって、Andr …
-
「カナかな?」を実機デバッグし、ログ送出機能を追加してリリースしてみた。
お疲れ様です。高橋です。 デバッグしてみた 先日リリースした、西野カナ風の歌詞を …
-
SurfaceViewを使って絵を書き動かすサンプルをコピペして動かしてみた
お疲れ様です。高橋です。 本日はcocos2d-xの3.3rc0を導入しようと試 …
-
TwitterアナリティクスからCSVがダウンロード出来ない
お疲れ様です。高橋です。 TwitterアナリティクスのCSV 遅刻の言い訳提案 …
-
Androidアプリ上でLINEみたいな吹き出しでTextを囲んで表示してみた。
お疲れ様です。高橋です。 AndroidでLINEみたいにテキストの周りを吹き出 …
-
DAWを使って、ゲームの裏側で鳴らす音楽を作ってみた。
お疲れ様です。高橋です。 既に時期を逸してしまった、「選挙運動シミュレータ 衆院 …
-
西野カナ風な歌詞自動生成「カナかな?」をリリースしてみた。
お疲れ様です。高橋です。 昨日はずっと助詞に関する実装をしていたのですが、どうし …
-
上司離着席状態検知アプリ
お疲れ様です。高橋です。 上司離着席状態検知システムですが、 必要性を記載 回路 …