FC2ブログ

Entries

cocos2d 基本コンセプトを日本語訳の巻

今回は、cocos2d の基本コンセプトを日本語訳しながら読んでいきます。

ここで、cocos2d の全体像を把握しておきましょう。

(transformed のいい日本語訳があったら教えてください。。)

-------------------
<目次
cocos2d の基本コンセプト

cocos2d アプリケーションの開発を進めていく上で、cocos2d ライブラリに導入されている押さえておくべきいくつかの基本となる概念があります。

シーンとは

CCScene オブジェクトとして実装されているシーンはある意味で、アプリケーションのワークフローとは独立した存在です。スクリーンやステージと呼ばれる事もあります。

たくさんのシーンをアプリケーションで実装することができますが、一度に実行できるのはひとつのシーンだけで、複数とシーンを同時には実行できません。

例えば、あなたのゲームに、導入、メニュー、1面、挿入シーン、2面、ゲームクリアシーン、ゲームオーバー、ハイスコア、といったようなシーンを持たせることができます。

それら全てのシーンはそれぞれ独立したものとして定義できます。それぞれのシーンは、シーンをつなぐための論理に基づく方法で、互いに少しだけ関連付されます。(導入シーンが中断されたり終了した場合はメニューに遷移し、1面クリアしたら挿入シーンへ、クリアに失敗したら失敗用の挿入シーンへ遷移するでしょう。)



cocos2d の CCScene は、ひとつ以上のレイヤー(CCLayer オブジェクトで実装されている)で構築されており、すべてのレイヤーは積み重なっています。レイヤーはシーンに表示と動作を与えます。一般的な使用法は、必要とされる複数のレイヤーのシーンのインスタンスを構築することです。

CCTransitionScene オブジェクトで実装された遷移と呼ばれるCCSceneのファミリクラスがあります。そのクラスは2つのシーン同士の遷移を提供します。(フェードアウト、フェードインやスライドインなどの遷移方法があります。)

シーンは CCNode のサブクラスなので、手動またはアクションクラスを使用することにより変形可能です。詳細は、アクションの章を参照してください。

ディレクターとは

CCDirector はシーンの遷移を管理するクラスです。

CCDirector は共有オブジェクト(シングルトンオブジェクト)です。どのシーンが現在動作しているのかを把握しており、シーンのスタックに、シーンの呼び出しなどの処理の許可をおこないます(何かの入力の間、シーンを一時停止しそのままの状態で置いておき、入力が終了したら元の状態に戻す等)。

CCDirector は、CCLayer から現在のシーンのプッシュ、切り替え、終了の要求により実際に CCScene を変更します。

CCDirector は OpenGL ES の初期化も担っています。

レイヤーとは

CCLayer は全描画領域のサイズを保持しており、レイヤー自身への描画方法を把握しています。

レイヤーは半透明(一部または全部に部分的なな透過や穴を持つ)にすることが可能なので、レイヤーの背後の他のレイヤーを表示できます。

レイヤーは表示と振る舞いを定義するものなので、必要な処理を行う CCLayer のサブクラスの実装にプログラミングの時間のほとんどを費やすことになるでしょう。



CCLayer でイベントハンドラの定義を行います。イベントは、どれかのレイヤーがそのイベントを受け取り、受理するまで、レイヤーの全面から背後に向かって伝達されます。

CCLayer のサブクラスの定義が必要な高度なアプリケーションもありますが、cocos2d では使い勝手の良いレイヤーをライブラリとして提供しています(簡単なメニューの CCMenu、色のレイヤーの CCColorLayer、他のレイヤー間で多重化するレイヤーの CCMultiplexLayer など)。

レイヤーは子オブジェクトとして、CCSprite オブジェクト、CCLabelオブジェクトそして他の CCLayer オブジェクトを保持することができます。

レイヤーは CCNode のサブクラスなので、手動またはアクションクラスを使用することにより変形可能です。詳細は、アクションの章を参照してください。

スプライトとは

cocos2d のスプライトは他のコンピュータのスプライトと同様です。移動、回転、拡大縮小、アニメーション等が可能な2次元画像です。

Sprite(CCSprite クラスで実装されている)は、子オブジェクトとして他のスプライトを保持することができます。

親オブジェクトが変化した場合は、子オブジェクトも同様に変化します。


スプライトは CCNode のサブクラスなので、手動またはアクションクラスを使用することにより変形可能です。詳細は、アクションの章を参照してください。
スポンサード リンク

コメント

コメントの投稿

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://miyachikantaro.blog.fc2.com/tb.php/12-ae5c2747
この記事にトラックバックする(FC2ブログユーザー)

Appendix

出演ゲーム

みやちかんたろうの大冒険

↑インストールはこちらから
予告編

21面デモ

ステージ作成

検索フォーム

訪問者

Apple製品紹介

Apple MacBook Air 1.6GHz 13.3インチ MB003J/A

中古価格
¥59,800から
(2013/1/24 06:45時点)

QRコード

QR

メールフォーム

名前:
メール:
件名:
本文:

Extra

プロフィール

みやちかんたろう

Author:みやちかんたろう
種別:きいろいねこ
年齢:10歳
性別:オス
趣味:昆虫採集
twitter:@gatsupport

※このサイトはリンクフリーです。ご自由にリンクしてください。相互リンクもじゃんじゃん募集中です!!

最新記事

最新コメント

最新トラックバック

月別アーカイブ