あっというまにCocos2d-x v3.7がリリースされました

このバージョンからJavaScriptによる開発ができるCocos2d-JSが再度組み込まれています。
これにより、iOS/Android等のネイティブに加え、Web向けにもパブリッシュできるとのことです。
試しにやってみましょう。

実は今日、新しいMacBookが届いたので、環境構築ついでのメモも兼ねています。
ということで以下、Mac環境向けとなります。

■下準備

Xcode
AppStoreからインストール

JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Android Studio
https://developer.android.com/sdk/index.html
上記は単にcocosやるだけなら不要かもですが、いずれ必要になるのでいれちゃいます。

Android SDK
(Android StudioのDLページと同じです。SDK Tools OnlyというところからDLできます)
https://developer.android.com/sdk/index.html

今は何も入ってないので、Android SDK Managerを立ち上げて・・

$ cd /path/to/android-sdk-macosx/tools
$ ./android

最新のSDK Platformなどをインストールしておきます。

Android NDK
(もうr9系でないとダメってことはありません)
https://developer.android.com/ndk/downloads/index.html
展開はコンソールで

$ chmod 755 android-ndk-r10e-darwin-x86_64.bin
$ ./android-ndk-r10e-darwin-x86_64.bin

Apache Ant
http://ant.apache.org/bindownload.cgi

Cocos2d-x v3.7
(Cocos2d-xのとこにあるのもCocos2d-JSのとこにあるのも同じです)
http://www.cocos2d-x.org/download

DLしたものはそれぞれ展開・インストールなどしておきます。

■Cocos2d-xの下準備
setupを実行して、パスなど整えます。

$ cd /path/to/cocos2d-x-3.7
$ ./setup.py

setup.pyを実行するとNDK,SDK,ANTのパスを聞かれるので入力します

->Please enter the path of NDK_ROOT (or press Enter to skip):/path/to/android-ndk-r10e
->Please enter the path of ANDROID_SDK_ROOT (or press Enter to skip):/path/to/android-sdk-macosx
->Please enter the path of ANT_ROOT (or press Enter to skip):/path/to/apache-ant-1.9.6/bin

パスを反映させます

$ source /path/to/.bash_profile

■プロジェクト作成

$ cocos new JSTestProject -p com.example.JSTestProject -l js -d /path/to/ProjectsDir/

-l jsってのが、JavaScriptで作りますよーってことです。
-l cppとすればC++での開発となります。
これで/path/to/ProjectsDir/にJSTestProjectというディレクトリができます。

$ cd /path/to/ProjectsDir/JSTestProject

HelloWorld的なプログラムが組まれているのでとりあえず実行できます。

iOS

$ cocos run -p ios

これだけでiOSシミュレーターが立ち上がり、実行されます。

Android

$ cocos run -p android -j 4

-jってのはビルドに使うコア数の指定です。
NDKでは並列ビルドができるので、全力でビルドさせてOKならコア数分、ビルド中も作業したい場合にはコア数-1あたりを指定します。
これで、実行されます。
実機を繋いでいる場合には、たぶんそれで立ち上がります。

一応、エミュレーターを使う場合の手順も書いておきますが、エミュレーターはちゃんと設定しないと、動作にハイパー時間がかかるうえに謎のエラーで落ちたりするので、基本的には実機を使ったほうが良いと思います^^;

$ android list targets

でターゲットを確認

Available Android targets:
----------
id: 1 or "android-22"
     Name: Android 5.1.1
     Type: Platform
     API level: 22
     Revision: 2
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in, AndroidWearRound, AndroidWearRound400x400, AndroidWearRoundChin320x290, AndroidWearSquare, AndroidWearSquare320x320, AndroidWearRound, AndroidWearRound400x400, AndroidWearRoundChin320x290, AndroidWearSquare, AndroidWearSquare320x320
 Tag/ABIs : android-tv/armeabi-v7a, android-tv/x86, android-wear/armeabi-v7a, android-wear/x86, default/armeabi-v7a, default/x86, default/x86_64

こーんな感じのが出ると思いますので、idやTag/ABIsを確認して

$ android create avd -n cocos -t 1 --abi default/armeabi-v7a

で、cocos用のを作ります。
-n で名前
-t でid
–abi でTag/ABIsのうちひとつを選択します。

作ったプロファイルでエミュレーターを立ち上げます。

$ emulator -avd cocos &

で、先ほどのcocos runを実行すればOK。

Web

$ cocos run -p web

これで、ブラウザで実行されます。
なお、

$ cocos run -p web -m release

とすることで、publish/html5/ ディレクトリへ書き出されます。
やったぜ!

それでは、楽しいCocos2d-xライフを。