cocos2d-xを使ってみる(Mac Android eclipse環境導入)
cocos2d-xインストール前の私の状況
- Android SDKやeclipseなどの開発環境はすでにある
- PCは、Mac
- eclipseの使い方やAndroid SDKの使い方など知っている
- Javaが分かる
- C言語は2年くらいやってたけどもう忘れた、C++はぶっちゃけ書いたことない
- cocos2d-iphoneならチョロっと触ったことがある
あくまでも私の状況で、環境構築の前提条件とかそういうのではないです。
参考書籍
かなり初心者向け。内容的にはCocos自体が初心者でもOKな感じ。 各章で最低限の機能を使ってサンプルゲームを作ってCocos2d-xを学んでいける。 C++が始めてな人でも結構いける。
cocos2d-xのインストール
URL: http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download
とりあえずalpha版は怖いので2.1.4をダウンロード。 と思ったら190MBもあった。。。ご飯食べる前にダウンロードしておけばよかった。 と反省。。。
ダウンロードできたら解凍します。 配置場所はどこでもいいですが、わかりやすいところへ。あとで使います
$ pwd /Applications/cocos2d-x-2.1.4
Android NDKをインストール
URL: http://developer.android.com/tools/sdk/ndk/index.html
自分の開発環境に合わせてダウンロードしてください。
同意してチェックいれてDownloadしましょう。
こっちも433MB。。。OTL 光回線ないから時間かかります。。。
同じく解凍して配置
$ pwd
/Applications/android-ndk-r9
COCOS2DXをeclipseに読み込む
Android NDKをeclipseのC++ Buildに設定
なんか細かい設定(よくわからん)
libcocos2dxのimport
packageExplorer上で右クリックしてimportを選択し、Androidのやつを選択。
インポートするフォルダは以下
/Applications/cocos2d-x-2.1.4/cocos2dx/platform/android/java
プロジェクトの作成
$pwd /Applications/cocos2d-x-2.1.4/tools/project-creator $ ./create_project.py -project HelloWorldProject -package com.kyokomi.cocos2dx.helloworld -language cpp proj.ios : Done! proj.android : Done! proj.win32 : Done! proj.mac : Done! proj.blackberry : Done! proj.linux : Done! proj.marmalade : Done! New project has been created in this path: /Applications/cocos2d-x-2.1.4/projects/HelloWorldProject Have Fun!
オプション説明
-project:プロジェクト名
-package:パッケージ名
-language:cpp (C++)、lua(Lua)、javascript(JavaScript)
あとは、eclipseで上記のproj.androidをインポートするだけ。
packageExplorer上で右クリックしてimportを選択し、Androidのやつを選択。
さっき作成したprojectのandroidを選択する。 Copy projects into workspaceにチェックいれるとフォルダ階層が変わってエラーがでちゃうらしいのでそのままで。
とりあえず起動してみる
何回かエラーで出て正直意味不明だった。。。
-Wformat -Werror=format-security.
ログ出力周りでformat書式がなんかよくない方法だったとか? Android NDKの公式をみたら
Changed ndk-build script defaults to compile code with format string protection -Wformat -Werror=format-security. You may set LOCAL_DISABLE_FORMAT_STRING_CHECKS=true to disable it. For more information, see ANDROID-MK.html
との記載があったので、Android.mkに片っ端から以下をつっこんだら起動した。
LOCAL_DISABLE_FORMAT_STRING_CHECKS=true
もう一度エラーを確認しようと上記を外したら起動した。。。
どういうことだってばよ・・・?(※1)
とまあ出いきなり苦戦しつつも一応Hello Worldできたからよしとしよう。
環境メモ
追記:2014/01/04
久しぶりにブログを見返してて疑問になっていた点が解消していたことに気がついた。
※1:エラーが出たけど再度ビルドしたら動いたというのは「build_native.sh clean」をしてないのでcocos2d-x自体の.soファイルのビルドが行われていないためでしたー。
業務でずっと触ったりgradleでbuildしたりしてたらさすがに理解しました。