動く背景を作成する
ゲームで利用できる動く背景を今回紹介をします。
アクションゲームやシューティングゲームでは、よく背景を動かして恰もPlayerが動いている、そんな表現をcocos2d-xで実装できます。
今回は、そのような「動く背景」を簡単に設定できるCCParallaxNodeクラスを利用します。
ParallaxNodeの設定
CCParallaxNodeクラスは、複数の画像を登録して、その動きを一括で管理できるクラスです。ここに背景に必要な画像を用意して、個別にそのスピードを設定します。
【Ver3.x】
//CCSpriteクラスで画像を設定します。 auto sprite1 = Sprite::create("kumo000.png"); auto sprite2 = Sprite::create("mountain001.png"); //これをCCParallaxNodeクラスで利用します。 prallNode = ParallaxNode::create(); prallNode->setPosition(Point(-100,0)); prallNode->addChild(sprite1, 1, Point(3,0), Point(240,200)); prallNode->addChild(sprite2, 2, Point(1,0), Point(240,110)); this->addChild(prallNode,1);
【Ver2.x】
//CCSpriteクラスで画像を設定します。 CCSprite *sprite1 = CCSprite::create("kumo000.png"); CCSprite *sprite2 = CCSprite::create("mountain001.png"); //これをCCParallaxNodeクラスで利用します。 prallNode = CCParallaxNode::create(); prallNode->setPosition(ccp(-100,0)); prallNode->addChild(sprite1, 1, ccp(3,0), ccp(240,200)); prallNode->addChild(sprite2, 2, ccp(1,0), ccp(240,110)); this->addChild(prallNode,1);
コードの解説
画像を登録する時に、スピードや位置をそれぞれ設定出来ます。prallNode->addChild(sprite1, 1, ccp(3,0), ccp(240,200));
引数は4つあります。
- 引数1:画像を指定
- 引数2:Z値を指定
- 引数3:画像の移動スピードを設定
- 引数4:画像の位置を設定
動かす
後は、Actionクラスまたはルートを利用して、ParallaxNodeを動かして上げれば設定通りにSpriteが動きます。経営育成ゲーム「わたしの動物園」をリリースしました!
cocos2dxを使って作成したアプリを作成しました。
無料で遊べますので、ぜひゲーム作りの参考にしてみて下さい!
【Sponsored Link】
更新履歴
- 2015年1月29日 : Jniを利用する
- 2015年1月27日 : デバックのための、ログの利用
- 2015年1月24日 : Android – 新規ファイルの追加と保存場所
- 2014年6月13日 : OSを判別する
- 2014年6月13日 : 効果音を再生する