CCScrollView可以实现一个滚动的菜单,上下滚动还是左右滚动需要自己来设置。
一般用在游戏的关卡选择中。
CCScrollView中创建函数如下:
static CCScrollView* create(CCSize size,CCNode* container = NULL); static CCScrollView* create();两个create都可以创建CCScrollView,不过通过第二个来创建CCScrollView之后需要手动设置滚动窗口的可视窗口大小。
setContainer用来添加container。
setViewSize用来添加可视窗口大小。
container可以是CCLayer或者CCNode对象,用来存放CCScrollView中的内容。
(一)实例一:CCScrollView中添加CCNode
CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCNode* node = CCNode::create(); for (int i = 0; i < 5; i++) { CCSprite* sprite = CCSprite::create("HelloWorld.png"); node->addChild(sprite); sprite->setPosition(ccp(winSize.width / 2 + i*winSize.width,winSize.height / 2)); } CCScrollView* scrollView = CCScrollView::create(winSize,node); addChild(scrollView); // 设置水平方向滚动 scrollView->setDirection(kCCScrollViewDirectionHorizontal); // 设置CCScrollView的大小 scrollView->setContentSize(CCSize(winSize.width * 5,winSize.height)); // 去掉ScrollView的弹性功能 scrollView->setBounceable(false);上面的例子中通过CCNode来创建CCScrollView;
首先创建CCNode对象,之后向CCNode中添加精灵,并设置好精灵的位置;
然后把CCNode对象添加到CCScrollView中;
通过setDirection设置CCScrollView滚动方式,水平还是垂直;垂直:kCCScrollViewDirectionVertical 水平:kCCScrollViewDirectionHorizontal
通过setContentSize设置CCScrollView的大小,包含精灵后的总大小;
setBounceable可以用来去掉CCScrollView的弹性。
原文链接:https://www.f2er.com/cocos2dx/342698.html