Cocos2dの基礎解説 1

関連サイトやTogetterなどで行われた発言を引用して、まとめていきます。


http://togetter.com/li/94849

オープンソースの2Dゲームフレームワーク
ライセンスはMIT
物理エンジンについて、C++ならばbox2d、C言語ならばchipmunkを利用するといい。

PVRTC, PVRの対応がされている。PVRは展開しないでそのままメモリに載せられるので読み込みが速い。
ただし、PVRは非圧縮のためファイルサイズが大きくなる。

テクスチャアトラス用ツール:Zwoptex, TexturePacker。
おすすめはTexturePacker
※テクスチャアトラス : 複数の画像を一つにまとめて読み込む手法

コリジョン作成ツール:VertexHelper Pro(有料)、無償版もあり、GitHubで手に入れられる。
MacAppStoreでも購入可能。
※スプライトの衝突判定を厳密に行う場合に細かいコリジョンを設定するが、そのためのツール
VertexHelperが紹介されてるcocos2dのページ http://www.cocos2d-iphone.org/archives/779

パーティクル作成:ParticleDesigner
http://particledesigner.71squared.com/

Cocos2dで作成するとiOS版からMac版への移植が容易となっており、
最近のバージョンはMac用のXCodeプロジェクトが付属している。 
TouchイベントをMouseイベントに変える程度で大丈夫。

ゲームの画面遷移単位(タイトル、ゲーム画面、メニュー画面等々)CCScene。
それにぶら下がっている単位としてCCLayer,さらにその下にCCNodeがぶら下がる構造。
CCNodeはゲームの各キャラなど
座標は左下が(0, 0)。

CCActionモノを動かすときに使う動きの規定用クラス

ccp(x,y) = CGPointMake(x,y)
CCSequenceは登録したアクションを順に実行、CCSpawnは登録したものを同時に実行、
CCRepeatは登録回数繰り返し


hello cocos2d ios
http://www.youtube.com/watch?v=wfJR8U8ZUK0
http://www.slideshare.net/seasons/hello-cocos2d-ios


構成としては、上位のクラスから順番に以下のようになっている。

(1) Director	
	Sceneを管理する
(2) Scene
	場面(映画のシーンのようなもの)
(3) Layer
	シーンの階層
(4) Label
	テキスト
(4) Sprite
	画像

これを画像にして分かりやすくしたものが以下のサイトにあるので
見るとイメージしやすいと思います。 一番最後の方です。
http://d.hatena.ne.jp/yitabashi0913/20101031/p1


cocos2dでは、UIViewControllerにあたるものが、Sceneクラス。
また、Sceneは、Layer構造になっており、
各Layerに、Sprite(画像)や、Labelが配置されているイメージ。
そして、各Sceneを管理するのが、Directorクラス。


ちなみに、Directorクラスは、シングルトンオブジェクトのため、
cocos2dフレームワークを用いたコード内には、「shared~」というメソッドを用い、
シングルトンオブジェクトを呼び出す手法が頻繁に出てきます。

CCDirector *director = [CCDirector sharedDirector];