galapagosit’s blog

本家 > http://galapagosit.com/

Cocos2d-JSを使って作ったアプリがリリースされました

告知

ようやく1作目をリリースしました!

f:id:galapagosit:20150219171433p:plain

http://skate.galapagosit.com/store.html

所感

このアプリはCocos2d-JS v3.2 を使って作成したのですが、これからCocos2d-JSを使ってみたい人のために Cocos2d-JSの良い点、悪い点を纏めてみようとおもいます。 目的はandroidiosでのアプリリリースという前提で書きたいと思います。 (html5での公開はおまけ、確認用)

良い点

  • 開発スピードが早い

これが1番のメリットだと思います。
スクリプト言語なので、C++ で開発するよりも、やりたいことを直ぐにコードに落とし込めます。

当たり前ですがリストなんか、

var l = [];

で定義できます。C++だと結構な知識が必要になってきますよね?

  • jsで書ける

他にもluaバインディング等ありますがjsの方が馴染みやすい方も多いんじゃないでしょうか?

  • 確認が楽

いちいち更新しなくても、

cocos run -p web

とやればブラウザで動作確認ができるので、いちいちコンパイルして確認する必要が無いです。
ブラウザでの動作は自分の体験した限りではほぼネイティブと同様の動作をします。

ただし、処理速度や細かい部分の動作の違いは当然あります。
html5とネイティブ環境はインターフェースが同じになるように作ってあるだけで、仕組みは全く別物です。

  • jsファイルはリソースとして扱える

今回のゲームでは使っていないのですが、アプリに組み込んだjsファイルは動的にダウンロード可能です。
Assets Manager Extension | Documents | Cocos2d-x

悪い点

  • 情報が少ない(古い)

余り使っている人が少ないためか、ネット上に情報があまりないのが悲しいところです。

ただ開発は活発です。
cocos2d/cocos2d-js · GitHub

また、実装方法が分からなかったら

cd [cocosへのpath]/cocos2d-js-v3.2/samples/js-tests/
cocos run -p web

して見てください。ほぼ全ての機能がweb上で確認できます。
サンプルのソースを真似すれば、大概のことは実装できます。

  • C++の知識が結局必要

そもそもCocos2d-JSはCocos2d-xをベースにして動いています。
作っていると

Cocos2d-xに実装されている機能がjsのインターフェースとしては無い!
なんてことが偶にあります。

そういう時はjs->c++の連携などが必要になってくるので、やっぱりC++等の知識はあったほうが良いです。

僕はC++を業務でゴリゴリ書いた経験は殆ど無いのですが、
ロベールの部屋
をひと通り読んで最低限知識をつけたつもり(笑)です

  • パフォーマンスの問題

今回は問題なかったですが、やはり生のC++ではないので重い処理になってくるとパフォーマンスが気になってくるかもしれません。
でも、もし期待したfpsが出なかったらC++で書くことも出来ます。
多分、重いsceneの処理だけc++に置き換えれば良いと思います。