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

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

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