Cocos2d-x 2.0.1裡面 整合了一些以前需要自己添加的控制項,極大的方便作為開發人員的我們。
今天給大家帶來一個用CCScrollView 實現的幫首頁面。
最終結果是這樣的:
首先CCScrollView 在 Cocosd-x 的擴充庫裡面,要是使用的話,需要添加命名空間
using namespace cocos2d::extension;
或者是用cocos2d-x 已經定義的宏
USING_NS_CC_EXT;
然後如果我們要是用 ScrollView的話,需要實現它的Delegate,這個的話,如果是做過IOS開發的同學應該很容易理解,就像UIScrollView。
class HelpScene : public cocos2d::CCLayer ,public CCScrollViewDelegate{ public:void scrollViewDidScroll(CCScrollView* view);void scrollViewDidZoom(CCScrollView* view); public: ///////////////////////////////////////////其他方法:}
添加一個CCScrollView,可以通過統一的create函數實現,
// CCScrollView scrollView = CCScrollView::create();//建立一個scrollview CCLayer *layer = CCLayer::create();//建立一個層,作為滾動的內容 char helpstr[30] = {0}; for (int i=1;i<=6;i++) { sprintf(helpstr,"Help/Help_%02d_chs.png",i); CCSprite *sprite = CCSprite::create(helpstr); sprite->setScaleX(2.0); sprite->setScaleY(1.0); sprite->setPosition(ccp(size.width*(i-0.5),size.height/2+25)); layer->addChild(sprite); } layer->setAnchorPoint(CCPointZero); layer->setPosition(CCPointZero); scrollView->setPosition(CCPointZero); scrollView->setContentOffset(CCPointZero); layer->setContentSize(CCSizeMake(480*6, 320));//設定捲動區域的大小 scrollView->setContentSize(CCSizeMake(480, 320));//設定顯示地區的大小 scrollView->setContainer(layer); //設定需要滾動的內容 scrollView->setTouchEnabled(false); //因為要自己實現觸摸訊息,所以這裡設為false scrollView->setDelegate(this); scrollView->setDirection(CCScrollViewDirectionHorizontal); //設定滾動的方向,有三種可以選擇 this->addChild(scrollView);
Demo的:http://download.csdn.net/detail/toss156/4511442