cocos2d-x ui::ScrollView和ScrollView的使用

本文介绍了Cocos2d-x中两种ScrollView组件的使用方法及其区别,包括属性设置、事件监听等内容。

最近做项目发现个有趣的东西:ScrollView ,这是一个滚动窗口,之所以说有趣是因为发现有两个ScrollView;下面来简单介绍下这两个的用法和不同。


1、cocos2d::ui::ScrollView

#include <ui/CocosGUI.h>

auto scrollView = cocos2d::ui::ScrollView::create();
scrollView->setPosition(cocos2d::Point());
scrollView->setDirection(cocos2d::ui::ScrollView::Direction::HORIZONTAL);//方向
scrollView->setScrollBarEnabled(false);//是否显示滚动条
scrollView->setContentSize(cocos2d::Size());//设置窗口大小  
scrollView->setBackGroundColor(cocos2d::Color3B &color);//设置背景颜色
scrollView->setInnerContainerSize(cocos2d::Size());//设置内容大小
scrollView->addEventListener(CC_CALLBACK_1(,));//设置监听事件
scrollView->addTouchEventListener()//触摸监听
scrollView->addClickEventListener()//点击监听

2ScrollView

ScrollView所在的Scene需继承ScrollViewDelegate,并且实现两个委托方法

    virtual void scrollViewDidScroll(ScrollView* view);//滚动时响应
    virtual void scrollViewDidZoom(ScrollView* view);)//缩放时响应

初始化
ScrollView* scrollView = ScrollView::create();
scrollView->setPosition(Vec2(0,112));
scrollView->setViewSize(cocos2d::Size(visibleSize.width,visibleSize.height- 112 - 128));//设置窗口大小
scrollView->setContentSize(cocos2d::Size(2988,visibleSize.height- 112 - 128));// 设置内容大小(这里需要注意,这里的设置内容大小函数和上面的设置窗口大小定义的一样的名称,容易混淆)
scrollView->setDirection(cocos2d::extension::ScrollView::Direction::HORIZONTAL);//设置方向
scrollView->setDelegate(this);//设置委托


上面的两个方法ScrollView的定义基本就完成了。还有一些方法,比如滚动到哪里,动画,直接去找set或者get方法就好,凭函数名称基本就可以知道需要用哪个。我所能想到的区别就是,一个是事件是封装好的,只需要在委托函数里添加事件的实现就好,另一个是自己添加监听,貌似更具灵活性。

还有一个不同,上面的可以直接设置背景颜色,后者需给它添加一个Layer当背景,当然也许是我没有找到。



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值