I love iPhone, Android, Cocos2d-x
[cocos2d-x] CCCamera を使用してスターウォーズのオープニングシーンを再現
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);
これは下記の画像のように表示されます。
この画像を見て閃いたのがタイトルにある「STAR WARS」のオープニングシーンです。ネットで適当に画像を拝借して作ったのが下記の動画になります。(あまり忠実に作っていないのでマニアな方、怒らないで下さい。。。)
レイヤ上にテキストを表示して下から上にテキスト全体をスクロールさせ、そのレイヤのカメラ位置を下から煽るようにしています。
2D ゲームで少し煽りを入れたいときなどに使えそうです。
関連する投稿
3 comments
コメントをどうぞ
Additional comments powered by BackType
how do I do this in ios(objective-c)? thanks
Cocos2d for iPhone is Objective-C. So you should port this to Cocos2d for iPhone. I think Cocos2d-x is similar to Cocos2d. You can do it easy.
3standards…
…