MITライセンスに基づくライセンス表記は必要ですが、それ以外に特に制約はありません。インディーズでも商用アプリでも、誰でも手軽に使うことができます。Cocos2d-xはオープンソースになっているので、中の構造を見ることはもちろん、自分好みに改造することも可能です。コレは特にデバッグする時にもとても嬉しい点ですね。オープンソースであるおかげか、多くのミドルウェアやライブラリでCocos2d-xへの対応が積極的に行われております。今回のプロジェクトでもキャラクタのアニメーション作成・再生にOPTPiX様のSpriteStudio、およびSSPlayerライブラリを使用させていただきました。フレームワークとしての構造Cocos2d-xのプログラムは、親子関係を定義付ける「ノード」を使用した「ツリー構造」を利用する形となっています。ツリー構造とは、「親要素」を1つと「子要素」を複数持つ要素「ノード」によってデータを分類していくデータ構造の1種です。上図の親ノードを持たない「Scene」を根(Root)ノードとして、そこから木のように枝分かれしていく形からツリー構造と呼ばれています。図ではそれぞれのノードが3つずつ子ノードを持つような形になっていますが、Cocos2d-xのノードは子ノードの数に制限の無い「多分木」構造になっており、更に多くの子要素を持つこともできます。このデータ構造はプログラミングにおける「オブジェクト指向」という思想との親和性がとても高く、またCocos2d-xではこのデータ構造のための「Node」のほか、各シーンを定義する「Scene」、画像を管理・表示する「Sprite」といった一通りのクラスが用意されており、とても作りやすくなっています。非常に優秀なフレームワークであるCocos2d-xですが、使用する上で注意したい点などもいくつか存在します。サウンド機能がイマイチCocos2d-xにはBGMやSEの読み込み、再生、停止など最低限の機能は用意されていますが、BGMのフェード再生などのちょっとした機能はありません。BGMの多重再生については出来ない状態になっています。フェード処理などは自分で機能を追加することで対応可能ですが、多重再生はプラットフォーム依存の処理などを改良する必要があるので相当の手間がかかります。してもクロスフェードなどの処理がしたい!という場合には、相応の追加実装作業を覚悟するか、他のサウンドライブラリを使いましょう。Cocos2d-xに対応しているライブラリは数多く存在しています。バージョン間の互換が保障されないCocos2d-xはかなり活発にアップデートが行われており、現在でもほとんど1ヶ月に1度ほどのペースで更新されています。このとき、旧バージョンの古い機能などが削除されてしまったり、既存関数でも引数・戻り値や内部処理が変わるなどの仕様変更が行われる場合があります。なると仕様が変更された部分でビルドエラー、意図しない挙動などが発生するため、1部記述の書き直し、最悪の場合大幅な作り直し作業をすることになってしまいます。いう事態がマイナーバージョンアップでもたびたび発生するため、プロジェクトの途中でのCocos2d-xのバージョンアップは基本的にしないというのが通例になっています。まとめ最後に不満点を書き連ねてしまいましたが、Cocos2d-xは前述したように現在かなり活発にアップデートが行われており、上記の不満点が解消・安定する日も遠くはないと思います。今回のプロジェクトで使用したバージョンは5月時点でのv3.0Final、そこから2ヶ月の間に数回の更新を重ね、7月後半にはv3.2がリリースされました。v3.1では「Sprite3D」によって3Dにも対応するなど、機能面でも更に充実したものになっていっています。国内でのコミュニティも盛り上がりを見せ、勢いを増しているCocos2d-x。2Dのアプリを開発する機会があるのであれば、1度使用してみてはいかがでしょうか。長文にわたってお付き合いいただき、ありがとうございました。カフェイン...ピックアップ【MySQL】Spiderストレージエンジンによる...2018/4/26PHPExcelでファイル作成から値の取得2018/3/22メニューを閉じるCONTACTゲーム開発、Webサイト制作に関するご相談等ございましたら、お気軽にお問い合わせください。