如果你想实现一个滚动的场景,比如一个帮助界面有好几张如片,想实现左右或上下滚动,或者在一个游戏中实现关卡场景的滚动,你都可以都到它,实际比较简单实用,我们直接上例子(这是很简单的一个例子,实现帮助界面的滚动)
2 {
3 //
4 // 1. super init first
5 if ( !CCLayerColor::initWithColor(ccc4( 251, 248, 239, 255)) ) //这里实现一个纯色的layer背景
6 {
7 return false;
8 }
9
10 CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile( " helpscene.plist ");
11
12 const int kMaxLayers = 5; //你有几张帮助图片就设为多少
13 //实现的方法:建立一个layer容器,将多个不同的layer加进去,每个layer上实现你想要的功能,可以是一张图片,也可以是menu等等。
14 CCArray * layers = CCArray::create();
15 for ( int i= 1; i<= kMaxLayers; ++i) {
16 CCLayer * layer = CCLayer::create();
17 layers->addObject(layer);
18 //为每个Layer添加不同的图片
19 CCString * str = CCString::createWithFormat("help%02d.png", i);
20 CCSprite * obj = CCSprite::createWithSpriteFrameName(str->getCString());
21 layer->addChild(obj);
22 obj->setPosition(ccp(size.width * 0.5f, size.height * 0.5f));
48 }
49 }
50
51 //利用上面的Layers容器建立一个CCScrollLayer的对象,添加到本helpLayer上即可,之后还可以根据情况设置对象的一些参数
52 CCScrollLayer * s = CCScrollLayer::nodeWithLayers(layers, 0);
53 this->addChild(s, 1);
54 s->setPosition(ccp(0,0));
55 s->setPagesIndicatorPosition(ccp(size.width * 0.5f, 20));
56
57 s->setIndicatorNormalColor(ccc4(150, 150, 100, 255));
58 s->setIndicatorSelectedColor(ccc4(0, 0, 0, 255));
59
60
61 return true;
62 }