这篇文章中,我们简单讲下CCScrollview,顾名思义,Scrollview,滚动视图,无论在android,ios,黑莓上都有这个滚动视图。那我们来看下cocos2dx中的CCScrollview,我这个版本的cocos2dx是2.2.0版本的,貌似前几个版本都有点不一样。
首先virtual void scrollViewDidScroll(CCScrollView* view);
virtual void scrollViewDidZoom(CCScrollView* view);
这两个函数是必要写的,还必须要继承,public CCScrollViewDelegate类;
我们先来了解一下函数
1.创建:
[1]:CCScrollView::creater("滚动视图尺寸","滚动视图容器");
[2]:CCScrollView::creater(); //默认视图尺寸为200*200
2.操作:
[1]:isDragging(); //判断用户是否在操作
[2]:isTouchMoved(); //判断用户是否在移动
[3]:isBounceable(); //是否开启弹性效果
[4]:setContainer("CCNode对象"); //设置容器
[5]:setViewSize("CCSize类型"); //设置视图尺寸
[6]:setBounceable(); //设置弹性效果
[7]:CCNode * getContainer(); //获取容器
[8]:CCSize getViewSize(); //获取滚动视图的尺寸
[9]:virual void scrollViewDidScroll(); //有滚动时的响应函数
[10]:virual void scrollViewDidZoom(); //缩放时的响应函数
闲话不多说上代码
bool HelloWorld::init()
{
//得到屏幕的尺寸
CCSize mysize=CCDirector::sharedDirector()->getWinSize();
//先创建个层
CCLayer * scrollviewlayer=CCLayer::create();
//再创建3个精灵
CCSprite * sp1=CCSprite::create("HelloWorld.png");
//这里注意一下,第一个精灵的位置mysize.width*0.5
sp1->setPosition(ccp(mysize.width*(1*2-1)*0.5,mysize.height/2));
CCSprite * sp2=CCSprite::create("HelloWorld.png");
//这里注意一下,第二个精灵的位置mysize.width*1.5
sp2->setPosition(ccp(mysize.width*(2*2-1)*0.5,mysize.height/2));
CCSprite * sp3=CCSprite::create("HelloWorld.png");
//这里注意一下,第三个精灵的位置mysize.width*2.5
sp3->setPosition(ccp(mysize.width*(3*2-1)*0.5,mysize.height/2));
//把3个精灵都加载到容器中去(scrollviewlayer)
scrollviewlayer->addChild(sp1);
scrollviewlayer->addChild(sp2);
scrollviewlayer->addChild(sp3);
//设置容器大小
scrollviewlayer->setContentSize(CCSizeMake(mysize.width*3,mysize.height));
//创建滚动视图
CCScrollView * myscroll=CCScrollView::create(CCSizeMake(mysize.width,mysize.height),scrollviewlayer);
//这里我们关闭弹性
myscroll->setBounceable(false);
//这里注意一下,我们添加的是滚动视图,不是layer
this->addChild(myscroll);
;
return true;
}
void HelloWorld::scrollViewDidScroll(CCScrollView* view){}
void HelloWorld::scrollViewDidZoom(CCScrollView* view){}
第一期到这里就结束了