cocos2dx- CCScrollLayer (cocos2d中实现的滚动层)

如果你想实现一个滚动的场景,比如一个帮助界面有好几张如片,想实现左右或上下滚动,或者在一个游戏中实现关卡场景的滚动,你都可以都到它,实际比较简单实用,我们直接上例子(这是很简单的一个例子,实现帮助界面的滚动)

 

 1 bool HelpLayer::init()//帮助layer初始化
 2 {
 3     //////////////////////////////
 4     // 1. super init first
 5     if ( !CCLayerColor::initWithColor(ccc4(251248239255)) )//这里实现一个纯色的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.5f20));
56     
57     s->setIndicatorNormalColor(ccc4(150150100255));
58     s->setIndicatorSelectedColor(ccc4(000255));
59     
60     
61     return true;
62 }

 

posted @ 2014-06-10 17:53  划破的夜空  阅读(641)  评论(0编辑  收藏  举报