比如有一个CCScrollView类,它是一个滚动控件,如何在它里面滚动自己的内容呢?
首先:创建这个CCScrillView类对象
其次:建一个CCLayer类的对象
再其次:设置了精灵。 (本例是使用6人文件名的经验,用sprintf()搞定)
再其次:把精灵加到层中。
再其次:设置层的定位点。
再其次,把层加到滚动类中。
最后,把滚动类加到当前类中。
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);//说明图片的文件名是按Help_01_chs.png,Help_02_chs.png,...Help_06_chs.png排列的
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); //设置滚动的方向,有三种可以选择
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);
![](http://cn.qzs.qq.com/ac/b.gif)