cocos2dの基本的な概念

cocos2dアプリケーションの開発を行う上で知っておく必要のあるいくつかの基本的な概念をここで紹介します.

シーン

シーンは, 多かれ少なかれ, アプリケーションのワークフローの一部が独立したものです. 一部の人々はシーンのことを"スクリーン"または"ステージ"と呼びます. あなたのアプリケーションはたくさんのシーンを持つことができます. しかし, 一度にアクティブにできるシーンの数は一つのみです.

例えば, イントロ, メニュー, カットシーン, ハイスコア画面などのシーンをゲームに持たせることができます. あなたは個別のアプリケーションとして多かれ少なかれ, この種のあらゆるシーンを定義することができます. またこれは, シーン同士を接続するためのロジックを含む接着剤の役割も果たしています. 例えば, 次の図のような遷移を構成できます.

scenes.png

cocos2dのシーンは, 1つまたは複数のレイヤーの積み重ねによって構成されています. レイヤーはシーンに外観や動作を与え, 通常使用の場合, あなたが望むレイヤーとシーンのインスタンスを作成して使用することになります. また, トランジションと呼ばれるシーンクラスの子クラスがあり, 2つのシーン間の遷移を可能にします. (フェードイン/アウト, サイドからのスライド, その他)

シーンは, ココスノードのサブクラスであり, 手動またはアクションを使用することよって変形させることが可能です. アクションの詳細についてはこちらを参照してください.

ディレクター

ディレクターはシーン間の行き来を管理するためのコンポーネントです.

ディレクターは共有(シングルトン)オブジェクトです. これは現在アクティブなシーンを把握しており, "シーンの呼び出し"のようなものを許可するためのスタックを処理します.(入力時にシーンを一時停止したまま横に退かして, 入力が終わった後でシーンを元に戻す等) ディレクターは, レイヤーがプッシュを要求した後で, シーンを実際に変更し, 現在のシーンの交換または終了を行います.

また, ディレクターにはOpenGL ESを初期化する責任もあります.

レイヤー

レイヤーは, 描画領域のサイズとそれを描画する方法を持っています. また, レイヤーを半透明にすることが可能で, これにより他のレイヤーの背後にあってもそのレイヤーを視認することが可能になります.さらに, レイヤーは動作と外観を定義しています. そのため, あなたのプログラミングにかかる時間のほとんどは, あなたの望む動作を行うレイヤーのサブクラスのコーディングに当てられることになるでしょう.

layers.png

レイヤーはあなたが定義するイベントハンドラです. イベントはレイヤーに(前から後ろに)伝播され, いくつかのレイヤーがそれをキャッチしてイベントを受け取ります.

シリアスなアプリケーションであなたが複数のレイヤーのサブクラスを定義する必要がある場合, cocos2dはいくつかの便利な定義済みのレイヤーライブラリを提供します. (シンプルなメニューを提供するCCMenuクラス, 色のレイヤーを提供するCCColorLayerクラス, 他のレイヤーの間をマルチプレクサするCCMultiplexLayer?クラスなど)

レイヤーはスプライトオブジェクトやラベルオブジェクトを子要素としてを含むことができます. レイヤーは, ココスノードのサブクラスであり, 手動またはアクションを使用することよって変形させることが可能です. アクションの詳細についてはこちらを参照してください.

スプライト

cocos2dのスプライトはよくあるスプライト(映像技術)の概念と似たようなもので, 移動・回転・拡大縮小・アニメーション等の動作が可能な2Dイメージです.

スプライトは, 他のスプライトを子要素として持つことができます. 親要素が変形された時, 全ての子要素も同様に変形されます.

スプライトは, ココスノードのサブクラスであり, 手動またはアクションを使用することよって変形させることが可能です. アクションの詳細についてはこちらを参照してください.


添付ファイル: filescenes.png 768件 [詳細] filelayers.png 761件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-03-29 (火) 21:14:24 (2370d)