位置: 编程技术 - 正文

Cocos2dx3.2编写常用UI组件(五)带滚动的表格GridView(cocos2djs)

编辑:rootadmin

推荐整理分享Cocos2dx3.2编写常用UI组件(五)带滚动的表格GridView(cocos2djs),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos用什么写代码,cocos用什么写代码,cocos2djs,cocos用什么写代码,cocos2d schedule,cocos用什么写代码,cocos2d schedule,cocos2djs,内容如对您有帮助,希望把文章链接给更多的朋友!

前言:

按照惯例先发上效果图:

正文:

先来吐槽几句,一说起滚动效果大家可能会联想到Cocos2dx给我们提供的ScrollView。我一开始也是打算用ScrollView来实现的,但是用着用着发现出现了各种莫名其妙的错误,所以只好自己重新写一个Node,通过onTouchBegan和onTouhMoved两个事件回调来实现滚动的效果。

GridView使用说明:

1.利用GridView::create(int row,int column)来创建一个GridView,row和column分别指定行数和列数。注意这里的行数是指可见的行数

2.通过GridView::addItem(Node* node)来向GridView里面添加元素

GridView实现思路:

1.创建的时候指定行数和列数

2.GridView里面新建一个Node(visibleNode)用于保存所有的item(以后实现滚动的时候方便点)

3.通过addItem进GridView时,计算出item的位置(x,y)

4.接受触摸事件

5.计算触摸的偏移量,visibleNode移动相应的距离

6.一头一尾的触摸要稍作判断(即不能上方出现空白或全空白)

Cocos2dx3.2编写常用UI组件(五)带滚动的表格GridView(cocos2djs)

7.添加遮罩层

核心代码解析:

1、添加Item

2、触摸事件

3、滚动条

实现思路:1.滚动条的大小由可见行数决定:滚动条高度=可见行数*每个Item的高度

2.滚动Button的大小由当前最大行数和可见行数决定:滚动Button的大小=可见行/最大行 * 滚动条高度

3.滚动条的位置由GridView当前位置和GridView最大可以上升的位置、滚动Button大小和滚动条大小决定

可以这样理解:

GridView上升高度/最大可以上升高度 = Button下降高度/Button最大可以下降高度

其中,GridView的上升高度和最大上升高度可以直接获取,Button的最大下降高度= 滚动条大小-Button大小

因此,可以求出Button的下降高度。也就可以确定Button的位置

4、GridView主要用途

GridView可以用来做背包视图,或者一个简单的listView(需要设置列数为1)

最后,附上源码:注意要把那两个图片放到resource文件夹里面哦

点击打开链接

cocos2dx 读取json及解析 ball.json数据如下:[html]viewplaincopy{entities:[{entity:{TapOpposite:0,Interval:0.,BallNum:1}},{entity:{TapOpposite:0,Interval:0.,BallNum:2}},{entity:{TapOpposite:0,Interval:0.,BallNum:3}}

Sublime Text + decoda 调试Quick-cocos2d-x 游戏 小白一个,初学quick-cocos2d,初期使用cocos2dx开发游戏,后期使用quick-cocos2dx3.2。SublimeTextdecoda调试Quick-cocos2d-x游戏的方法。1.安装vs、SublimeText3、decoda

cocos2dx 网络编程(CCHttpRequest和CURL两个方式) 转自:

本文链接地址:https://www.jiuchutong.com/biancheng/372744.html 转载请保留说明!

上一篇:cocos2dx3.3 便条提示语功能简单实现

下一篇:cocos2dx 读取json及解析(cocos2dx schedule)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络