2013年10月11日金曜日

cocos2d-x 3.0 Windowsでの環境構築

Cocos2d-xの環境構築をしたのですが、結構ハマったので忘れないうちに書いておきます。

複数の環境で作業しているため、掲載画像に統一性がありません。

・参考サイト

【cocos2d-x】Windowsでcocos2d-x 3.0の環境構築メモ - Qiita [キータ]
http://qiita.com/shori0917/items/c9b76a0abf8e47e4fac4


Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
http://www.slideshare.net/doraemonsss/windowscocos2dx-214android


・Cocos2d-x 環境構築手順

・JDKのインストール
http://www.oracle.com/technetwork/java/javase/downloads/index.html

32bitの人はx86を
64bitの人はx64をそれぞれダウンロード

ダウンロードしたファイルを実行してインストール




Android SDKのインストール
http://developer.android.com/sdk/index.html

ダウンロードしたファイルを解凍する。

C:\の直下に「android」というフォルダを作成する。
解凍したファイルをフォルダごと(adt-bundle-windows~ごと)移動する。
adt-bundle-windows~だとフォルダ名が長すぎるので「adt」等に変更する。
(C:\android\adtとなる)



・Android NDKのインストール
http://developer.android.com/tools/sdk/ndk/index.html
ダウンロードしたファイルを解凍し、C:\androidの下にフォルダごと移動
(例 C:\android\android-ndk-r9)



・Cocos2d-xのインストール
http://www.cocos2d-x.org/download
ダウンロードしたファイルを解凍し、C:\の直下にフォルダごと移動
(例 C:\cocos2d-x-3.0alpha0-pre)



・Cygwinのインストール
http://cygwin.com/install.html

ダウンロードしたファイルを実行

Install from internetを選択し次へ

Cygwinをインストールするフォルダを選択
初期はC:\cygwin(64bitの場合はC:\cygwin64)になっている。
変更する必要が無ければそのまま次へ

パッケージを保存するフォルダを選択
(Cygwinをインストールするフォルダ\packages等)

フォルダが存在しない場合、エラーダイアログが出る。
「はい」を押すとフォルダを作成する。

Direct Connectionを選択し次へ

ダウンロードするサイトを選択
http://~ ~.jpのサイトを選択すれば良い。

インストールするパッケージを選択
左上のSearchにmakeと入力
Develを展開
makeを選択し、次へ

完了

・Cygwinの設定
Cygwinのパス\etc\fstabをメモ帳以外のテキストエディタで開く(メモ帳だと改行コードを認識してくれない)
最後の行にnoaclを追加

none /cygdrive cygdrive binary,noacl.posix=0,user 0 0







・Pythonのインストール
http://www.python.org/download/
32bitの人はx86
64bitの人はX86-64

ダウンロードしたファイルを実行




・環境変数の設定
コントロールパネルを開いて、「システムとセキュリティ」を開く

「システム」を開く

「システムの詳細設定」を開く

詳細設定タブを開き、環境変数をクリック

変数「Path」を選択し、編集をクリック

下記のパスを追加(最初から入ってる文字列の最後が「;」じゃない場合は「;」を入れてから追加)
Cygwinのパス\bin(例 C:\cygwin\bin)(64bitの場合はC:\cygwin64\bin)
/cygdrive/c/cygwin/bin (64bitの場合は/cygdrive/c/cygwin64/bin)
Pythonのパス(例 C:\python33)

パス同士は「;」で区切る。
(例 最初から入ってた文字列;C:\cygwin\bin;/cygdrive/c/cygwin/bin;C:\python33; )



・project-creatorでのプロジェクト作成
コマンドプロンプトを開く
Cocos2d-xのパス\tools\project_creatorに移動

create_project.pyを使ってプロジェクトを作成する
create_project.py -p プロジェクト名 -k パッケージ名 -l 言語(cpp)


cd c:\cocos2d-x-3.0alpha-pre
cd tools
cd project_creator
create_project.py -p TestProject -k net.test.TestProject -l cpp



・Ecripseの日本語化
http://mergedoc.sourceforge.jp/
ダウンロードしたファイルを解凍
解凍してできたファイルを全てeclipse(C:\android\adt\eclipse)のフォルダに上書きコピーする。

・Ecripseの設定

初回の起動はeclipse.exe -clean.cmdを実行してecripseを開く。
次回からはeclipse.exeを直接実行すればよい。

 「ウィンドウ -> 設定 -> 一般 -> ワークスペース -> リンクされたリソース」にCocos2d-xルートパスを追加


「ウィンドウ -> 設定 -> Android -> NDK」にAndroid NDKルートパスを追加


「ウィンドウ -> 設定 -> C/C++ -> ビルド -> 環境」に環境変数に追加
変数: CYGWIN     値: nodosfilewarning

変数: NDK_ROOT     値: Android NDKのパス
変数: SHELLOPTS     値: igncr



「ウィンドウ -> 設定 -> C/C++ -> コード解析」
Syntax and Semantic Errorsのチェックを外す









Android SDK ManagerでSDK Platformをインストール

「ウィンドウ -> Android SDK マネージャー」
Android 4.3, 3.2 2.3のSDK Platformをそれぞれダウンロード


「libcocos2dx」ライブラリをプロジェクトにインポート
ファイル -> 新規 -> プロジェクト -> Android -> 既存コードからのAndroid プロジェクト

「Cocos2d-xのパス\cocos2dx/platform/android/java」を選択

project_creatorで作成したプロジェクトをインポート
ファイル -> 新規 -> プロジェクト -> Android -> 既存コードからのAndroid プロジェクト
「Cocos2d-xのパス\cocos2dx\project\プロジェクト名\proj.android」を選択


実行
「実行 -> 実行」
実機に転送し、実行してみて問題なく起動すればOK
私の環境ではエミュレータでは起動できませんでした。
実機とBlueStacks App Player(Windows上でAndroidが動くソフト)だと起動できました。




 


クロスプラットフォームの開発環境

昔、PC9801のN88BasicやQuick Basicで遊んでて、最近になってまた趣味でプログラミングがしたいなと思うようになりました。
Windowsになってからはプログラミングには触れてないので1から勉強です。
どうせ学ぶならクロスプラットフォームが良いなと思い、とりあえず自分が持っているWindowsとandroidに対応したものを探してみました。

HSP3Dish
http://hsp.tv/make/hsp3dish.html
・Windows、Android、iOSに対応。CとBasicの中間みたいな独自言語。簡単でとっつきやすい。現時点では機能不足な感じ。拡張性もない。
  
Wizapply
http://wizapply.com/wizapply/
・c++ライブラリ。Windows、Mac、Linux、Android、iOSに対応。
  
Unity
http://japan.unity3d.com/
・3Dゲームエンジン。非常に多くのプラットフォームに対応。C#、JavaScript、Booで書かれたコードに対応。
  
Cocos2d-x
http://www.cocos2d-x.org/
・2Dゲームフレームワーク。言語はC++。多くのプラットフォームに対応。日本語の資料が少なめ。

C++に興味があるので、最初はWizapplyにしようと思って環境構築したのですが、Cocos2d-xの方が機能が豊富な感じがするので、Cocos2d-xの環境も構築しました。
今後はCocos2d-xを中心に学習していく予定です。