人気ブログランキング | 話題のタグを見る

Ubuntu(xbuntu)12.10にcocos2d-x入れてみた日記

突然ですが、androidでcocos2d-xを試してみたいので、先日用意したxUbuntuネットブックに導入することにしました。

内容はcocos2d-x.jpで公開してる資料を参考にしています。
http://www.slideshare.net/doraemonsss/windowscocos2dx-212android
資料はwinですが、実質Linuxでの導入方法になっているので一番参考になります。

0. python
pythonがいるらしいけれど、すでに2.7.3を入れていた(自分で入れたのか最初からあったのか覚えてない)ので割愛。

1. NDK導入
実際はcocos2d-xとは関係ないけど、入れてなかったのでついでに。
Android NDKの公式サイトからLinux 32bit版をダウンロードして、ユーザーディレクトリの真下に移動。
.bashrcにNDKのPATHを追加しておく。
ついでにEclipseで自動ビルドできるようにNDK_ROOTも設定。


PATH=$PATH:/home/ユーザーディレクトリ/android-ndk-r8e
export PATH

export NDK_ROOT=/home/ユーザーディレクトリ/android-ndk-r8e


2. cocos2d-x導入
cocos2d-x公式からダウンロード
今回は特に理由もないので、最新版のcocos2d-2.1rc0-x-2.1.3をダウンロード。
ダウンロードしたらそのまま解凍して、NDKと同様ユーザーディレクトリの直下に移動。
そのままだとパス名長すぎるなーと思って、「cocos2d-2.1.3」にリネーム。
またしてもPATHを修正。

PATH=$PATH:/home/ユーザーディレクトリ/android-ndk-r8e:/home/ユーザーディレクトリ/cocos2d-2.1.3
export PATH


3. Eclipse設定
設定画面で
3-1. 「一般」-「ワークスペース」-「リンクされたリソース」の定義済みパス変数に「名前:COCOS2DX 値(ロケーション):cocos2d-xのパス」を追加。
3-2. 「C/C++」-「ビルド」-「環境」にて「変数:NDK_ROOT 値:ndkのパス」を追加

4. libcocos2dxをインポート
(cocos2d-xのパス)/cocos2dx/platform/android/java
上記をEclipseにインポート。ワークスペースのコピーはしない。ビルドがちゃんと通ればbinフォルダにlibcocos2dx.jarが作られる。ワークスペースにプロジェクトをコピーした場合は、build.xmlとかその辺りを修正すること。

5. 新規プロジェクト作成
ターミナルで
(cocos2d-xのパス)/tools/project-creater
へ移動。
./create_project.py -project MyProject -package net.tks2.myproject -language cpp

を実行すると、C++言語のパッケージがnet.tks2.myprojectでMyProject という名前のプロジェクトが、cocos2d-xパス直下のprojectに作成される。

6. Eclipseでインポート
上記プロジェクト内に「proj.android」というディレクトリとがあるので、ここをルート指定してプロジェクトをインポート。
クリーンビルドして問題がなければ、そのまま実行すればサンプルアプリが動作する。
完全クロスプラットフォームなので、バックボタンはききません。右下の電源マークを押して終了しましょう。


X. 動かない
1. ビルドターゲットがAPI8なので、API8のSDKをインストールしなおす
2. C/C++インデクサが異常に長い+重いので、設定の「C/C++」-「インデクサー」から、インデクサー使用のチェックを外す。 外すとリンクが取れずにビルドエラーになっちゃってビルドできなくなるので、ちょっとここの設定を見直し。(6/23追記)エラーは「C/C++」-「コード解析」のSynrax and ~のチェックを外せば解決しました。もともとコードチェック自体があんまりよろしくないみたい。
3. SDKとかADTを更新した直後なら、一度eclipseをクリーン起動してみる。


自分は3のせいで無駄な時間を2時間消費しました。おかげで翌日は酷い頭痛になりました。
実際のコーディングは残り2週間かけてちょっといろいろサンプルソースを打ち込んだりしてみます。