2015年2月3日火曜日

Cocos2d-JSの初期導入メモ【自分的に重要】

CreateJSでwebアプリを作り始めていたが、
iOS,Androidのアプリを作ることも考えると、Cocos2d-JSに手をつけねばと思い始めた。

Cocos2d-JSは、Cocos2dのHTML5版で、これまでCocos2d-xのJSB(JavaScript Binding)という位置付けであったものが、2014年に独立した模様。
この記事を書いている現在の最新版はv3.2(Cocos2d-xの最新版は3.3)

developerのマニュアルはこちら。
http://cocos2d-x.org/wiki/Cocos2d-js

webのみ版と、web以外にコンパイルできる版がある。
http://www.cocos2d-x.org/download

コンパイル版の環境の設定方法は以下。
http://cocos2d-x.org/docs/tutorial/framework/html5/parkour-game-with-javascript-v3.0/chapter1/en
WebStromはなかなか使いやすいIDEだったので仮導入してみました。


webのみバージョンは、jsが一つにまとまっていて(full版の圧縮版で1MB半、非圧縮で3MB強。liteは、圧縮版だと400kBほど)見通しが利く。以下がその解説。
http://cocos2d-x.org/docs/manual/framework/html5/v3/lite-version/en
ダウンロードは以下。
http://cocos2d-x.org/filecenter/jsbuilder/
webのみ版のliteは、使えるAPIが少ないのと、WebGLでレンダリングせず、canvasで普通に書き込む。

APIリファレンスはこちら
http://www.cocos2d-x.org/reference/html5-js/V3.2/index.html

Cocos2d-JSの本家フォーラムはこちら
http://discuss.cocos2d-x.org/c/cocos2d-x/javascript


私の目下の課題は、webのみ版Fullで書いて、コンパイル版に持っていけるようにする方法。
web公開をお手軽にしながら、コンパイル時にも問題ないようにするには、さてどうすればいいのか。ファイル構造がいろいろ違う感じなので、そもそも無理なのか。
ちょっとした工夫で可能なのか。。
調査していきます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

以下、初期設定で分かりにくかったことの初心者メモです。(Mac環境)

まずすべてのデバイス向けFull版を落とし、setup.pyをterminalで走らせましたが、そのFull版のフォルダ内のframeworksなどから、プロジェクトをコピーする仕組みなので、そのフル版のフォルダを自分のUser名直下において管理することにしました。
User名直下の.bash_profileに、cocosコマンドへのPATHがsetup.pyによって書き込まれるので、とりあえずUser名直下に置いておくのが自分にはいいかな、と。

cocos new -l jsというコマンドをターミナルで、プロジェクトを作りたいディレクトリ内で走らせると、そこにプロジェクトのテンプレート一式が作り上げられます。

私のようなgameつくり初心者には、めまぐるしい作業です。。

とりあえずできたフォルダ内のsrc内にあるapp.jsが、実際のコードを書いていく場所である、と。
そこのコードを少しいじって遊ぶと、少しずつ基礎の基礎はわかってきます。

また、オススメは、Full版のsamples/js-testsにterminalでcdして行き(cd フォルダドラッグ)、「cocos run -p web 」とすると、自動的に立ち上がり、いろいろなサンプルが動いてくれます。
「サンプルが動いてくれるようになるのはどうすればいいのだ?!」としばし悩んで、ドキュメントを読み漁ってわかったので、同じような方のためにメモです。
js-tests内のindex.htmlを叩いても動かなかったもので。
cocos run -p webをすると、terminalがserverを自動的に起動してくれます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ちなみに、私はソースをGitとSourceTreeで管理していますが、
frameworks,toolsなどはcommitしなくてよいので、無視する必要があり、
それは、
repositoryのrepotitory settingsの中のadvancedの中でignore listを編集し、そこに一行ごとに
frameworks/
tools/
などと書き込んだらOKでした。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Cocos2dはかつて、iPhoneアプリをネイティブで書こうと思い、使ってみて、便利さを体感した。
しかし、Objective-Cになじめず、撤退。

その後、Cocos2d-xを使ってみようかと思うも、やはり、自分はC++を習得していないので学習コストを考えて手をつけず。

それからこのCocos2d-JSを見つけ、やっと手をつけました。

_superとかinitとかthisが、どうしてこのように書くのかの意味がまだ十分わからず、
CreateJSは楽しくシンプルで楽だなあと思いながら、学び始めています。
(JavaScriptそのものの理解不足と、Cocos2d-xとのJSBでのやり取りの仕組みがまだ理解できていない両方の問題によるようです。)

webだけで使うならCreateJSはとても楽しく書ける。
しかし、各種デバイスへの移植をするなら、Cocos2d-JSはとても良い。

とりあえず両方使いながらやってみるか、というのが現時点での自分の結論です。

Cocos2d-JSは、まだまだ使い始めるために時間がかかりそう。
特にweb公開とコンパイル向けとの両立のシンプルな方法の発見がネックです。

0 件のコメント:

コメントを投稿