加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

我的Cocos2d-x学习笔记(二十四)CCScrollView

发布时间:2020-12-14 21:29:22 所属栏目:百科 来源:网络整理
导读:CCScrollView可以实现一个滚动的菜单,上下滚动还是左右滚动需要自己来设置。 一般用在游戏的关卡选择中。 CCScrollView中创建函数如下: static CCScrollView* create(CCSize size,CCNode* container = NULL);static CCScrollView* create(); 两个create都

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的弹性。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读