Lab

Cocos2d-x:画面スワイプでスクロールできるようにする

 Tag :  Published : 2013-10-9

Pocket

CCScrollViewを使用します。
スワイプで画面をスクロールできるようにします。

1.エクステンションをインクルード

CCScrollViewを使用するには、エクステンションの追加が必要です。

#include "cocos2d.h"
//↓これを追加
#include "cocos-ext.h"
          

名前空間も設定しておきます。

USING_NS_CC;
//↓これを追加
USING_NS_CC_EXT;
    

2.スクロールの準備(CCScrollView)

水玉の画像background.pngを背景にして、スクロールができるようにします。

cocos2d-xフリックでスクロール
画面をスワイプすると、水玉画像がスクロールします。

    //画面サイズを取得
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();

    //スクロールの表示範囲を画面いっぱいに設定
    CCScrollView* pScrollView = CCScrollView::create(winSize);
    this->addChild(pScrollView);

    //背景画像を選択して、表示する場所(座標)を設定
    CCSprite* pImg = CCSprite::create("background.png");
    pImg->setPosition(ccp(winSize.width*.5, winSize.height*.5));

    //背景画像をスクロールにセット
    pScrollView->setContainer(pImg);
    pScrollView->setContentSize(pImg->getContentSize());
    pScrollView->setContentOffset(CCPointZero, false);
    

3.スクロールのバウンスを止める(setBounceable)

スクロールの端まで行った際、デフォルトではバウンスします。
これをなくすには、以下のコードを追加します。

    pScrollView->setBounceable(false);