CCCamera というクラスは全ての CCNode がプロパティとして保持しているクラスです。CCCamera はそのノードをどの地点から見ているかを指定することができます。もう少し詳しく書くと OpenGL の gluLookAt 関数でカメラの位置を定めるのに使用されます。CCNode にそれぞれ指定できますので、シーンやレイヤ、スプライト毎にカメラ位置を指定可能です。

例えば HellowWorld の画像のカメラ位置を下記のように指定します。

float x=0, y=0, z=0;
this->getCamera()->getCenterXYZ(&x, &y, &z);
this->getCamera()->setCenterXYZ(x, y+0.0000003, z);

これは下記の画像のように表示されます。
CCCamera によるカメラ位置指定

この画像を見て閃いたのがタイトルにある「STAR WARS」のオープニングシーンです。ネットで適当に画像を拝借して作ったのが下記の動画になります。(あまり忠実に作っていないのでマニアな方、怒らないで下さい。。。)

レイヤ上にテキストを表示して下から上にテキスト全体をスクロールさせ、そのレイヤのカメラ位置を下から煽るようにしています。
2D ゲームで少し煽りを入れたいときなどに使えそうです。

関連する投稿