きょこみのーと

元六本木でGo書いてました。今はVRでGo書いてます。

cocos2d-xを使ってみる(Mac Android eclipse環境導入)

cocos2d-xインストール前の私の状況

  • Android SDKeclipseなどの開発環境はすでにある
  • 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に読み込む

f:id:kyokomi:20130818200128p:plain

Android NDKをeclipseC++ Buildに設定

f:id:kyokomi:20130818200135p:plain

なんか細かい設定(よくわからん)

f:id:kyokomi:20130818200131p:plain

libcocos2dxのimport

packageExplorer上で右クリックしてimportを選択し、Androidのやつを選択。

f:id:kyokomi:20130818202045p:plain

インポートするフォルダは以下

/Applications/cocos2d-x-2.1.4/cocos2dx/platform/android/java

f:id:kyokomi:20130820202407p:plain

プロジェクトの作成

$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++)、luaLua)、javascriptJavaScript

あとは、eclipseで上記のproj.androidをインポートするだけ。

packageExplorer上で右クリックしてimportを選択し、Androidのやつを選択。

f:id:kyokomi:20130818202045p:plain

さっき作成したprojectのandroidを選択する。 Copy projects into workspaceにチェックいれるとフォルダ階層が変わってエラーがでちゃうらしいのでそのままで。

f:id:kyokomi:20130818202042p:plain

とりあえず起動してみる

何回かエラーで出て正直意味不明だった。。。

-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

f:id:kyokomi:20130818195916p:plain

とまあ出いきなり苦戦しつつも一応Hello Worldできたからよしとしよう。

環境メモ

追記:2014/01/04

久しぶりにブログを見返してて疑問になっていた点が解消していたことに気がついた。

※1:エラーが出たけど再度ビルドしたら動いたというのは「build_native.sh clean」をしてないのでcocos2d-x自体の.soファイルのビルドが行われていないためでしたー。

業務でずっと触ったりgradleでbuildしたりしてたらさすがに理解しました。