您的位置:首页 > 移动开发 > Cocos引擎

【cocos2d-x】利用CCScrollView, 实现帮助界面

2013-05-29 11:00 513 查看
原帖:/article/1423048.html

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: