Cocos2d-x滚动列表具体解释(CCScrollView的使用)
今天要写一个滚动列表功能,类似以下这样。(图片资源都是自己从天天酷跑里面抠的,仅用于学习方便)
首先,这样一个列表就和iOS里面的UITableView没什么两样,当然,Android中肯定也存在类似的控件。
在cocos2d-x引擎中參照ios中的UITableView实现了一个叫做CCTableView的类,用于创建列表,对于熟悉ios程序设计的人来说,这个内容应该是非常好理解的。
以下就介绍下CCTableView。
首先,mark几个比較好的博文。
Cocos2d-x CCTableView实现列表:http://www.tuicool.com/articles/viaQn2
cocos2d-x CCTableView:http://www.cnblogs.com/sevenyuan/archive/2013/07/25/3214534.html
cocos2d-x CCScrollView和CCTableView的使用:http://www.tuicool.com/articles/fuemq2
另外.先介绍下涉及的几个经常用法。
必须实现:
|
1
2
3
4
5
6
7
8
9
10
11
|
//触摸到某个cell的事件 virtual //定制每一个cell的size virtual //定制每一个cell的内容 virtual //确定这个tableview的cell行数 virtual |
选择实现:
|
1
2
3
4
|
//设置单元格高亮的状态 virtual //设置单元格非高亮的状态 virtual |
必须实现:
|
1
2
3
|
//因为CCTableView是继承CCScrollView,所以要继承这两个方法 virtual virtual |
以下介绍实现方法。
1。使用的时候要注意要引入扩展库文件: #include "cocos-ext.h" ,而且最好要加入�: USING_NS_CC_EXT ; 这样就不用老是加前缀cocos2d::extension。
|
1
2
|
class}; |
3。实现须要的方法(上述列举的三类中, 当中两类必须实现。 另一类可选。)
简单三不,就能定制属于你自己的列表了。非常easy吧。
以下给出上述天天酷跑道具列表的实现代码。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
//// // //// ////#ifndef#define#include#include#includeUSING_NS_CC_EXT;//cocos2dx定义的宏usingclass{public: virtual static void public: //CCTableViewDelegate继承自CCScrollViewDelegate virtual virtual //点击哪个cell virtual //每一个cell的size virtual //生成cell virtual //cell的数量 virtual //按下去的时候,就是高亮显示,这里能够设置高亮状态 virtual //松开的时候,取消高亮状态 virtual void CREATE_FUNC(GameInfo);};#endif |
GameInfo.cpp
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
//// // //// ////#include#includeusingusingCCScene*{ CCScene GameInfo scene->addChild(layer); returnscene;}bool{ if( { returnfalse; } //获取屏幕大小 CCSize //设置背景 CCSprite"pic_InfoBg.png"); this->setPosition(ccp(visibSize.width/2, this->addChild(bg_); //加入�列表 CCTableViewthis, tableView->setDirection(kCCScrollViewDirectionVertical); tableView->setPosition(ccp(-525, tableView->setAnchorPoint(ccp(0, tableView->setDelegate(this); tableView->setVerticalFillOrder(kCCTableViewFillTopDown); this->addChild(tableView,1); tableView->reloadData(); returntrue;}void{ CCDirector::sharedDirector()->end();#if exit(0);#endif}//cell的数量unsigned{ return6;}//生成cellCCTableViewCell*{ CCString"cell_%d.png",idx); CCTableViewCell if(!cell) { cellnewCCTableViewCell(); cell->autorelease(); //设置当前cell图片 CCSprite iconSprite->setAnchorPoint(CCPointZero); iconSprite->setPosition(ccp(0, iconSprite->setTag(123); cell->addChild(iconSprite); } else { //创建了就不须要再又一次创建了,不然你会发现图片跟文字都不正确 CCTexture2D CCSprite pSprite->setTexture(aTexture); } returncell; }CCSize{ returnCCSizeMake(605,}void{ }void{}void{ CCBlink cell->runAction(blink_);}void{}void{} |
Cocos2d-x滚动列表具体解释(CCScrollView的使用)的更多相关文章
- 在滚动列表中实现视频的播放(ListView & RecyclerView)
英文原文:Implementing video playback in a scrolled list (ListView & RecyclerView) 本文将讲解如何在列表中实现视频播放. ...
- Android 在滚动列表中实现视频的播放(ListView & RecyclerView)
这片文章基于开源项目: VideoPlayerManager. 所有的代码和示例都在那里.本文将跳过许多东西.因此如果你要真正理解它是如何工作的,最好下载源码,并结合源代码一起阅读本文.但是即便是没有 ...
- Jquery制作--循环滚动列表
自己模仿JQ插件的写法写了一个循环滚动列表插件,支持自定义上.下.左.右四个方向,支持平滑滚动或者间断滚动两种方式,都是通过参数设置.JQ里面有些重复的地方,暂时没想到更好的方法去精简.不过效果还是可 ...
- Android 高级UI设计笔记09:Android如何实现无限滚动列表
ListView和GridView已经成为原生的Android应用实现中两个最流行的设计模式.目前,这些模式被大量的开发者使用,主要是因为他们是简单而直接的实现,同时他们提供了一个良好,整洁的用户体验 ...
- 当滚动列表的时候,让input框失去焦点(移动端会收起键盘)
1.拓展scroll.vue事件 beforeScroll:{ type:Boolean, default:false } if(this.beforeScroll){//滚动列表的时候收起键盘(移动 ...
- Android 高级UI设计笔记09:Android实现无限滚动列表
1. 无限滚动列表应用场景: ListView和GridView已经成为原生的Android应用实现中两个最流行的设计模式.目前,这些模式被大量的开发者使用,主要是因为他们是简单而直接的实现,同时他们 ...
- 一次react滚动列表的实践---兼容ios安卓
一.背景 近期项目改版,对原有的h5页面进行了重新设计,数据呈现变成了瀑布流.希望新版兼容ios和安卓两端的情况下,无限制的刷新加载数据.大致效果如下: 整个页面分4部分: 顶部导航 步数状态卡片 用 ...
- 【js】我们需要无限滚动列表吗?
无限滚动列表,顾名思义,是能够无限滚动的列表(愿意是指那些能够不断缓冲加载新数据的列表的).但是,我们真的需要这样一个列表吗?在PC端,浏览器的性能其实已经能够满足海量dom节点的渲染刷新(笔者经过简 ...
- WebApp 滚动列表的实现
实现效果: 实现技术:overflow,flex,element::-webkit-scrollbar 实现步骤: //html:代码<div id="slider"> ...
随机推荐
- 这个帖子要收藏,以后用得着--python 实时获取子进程输出
在论坛上找到方法了,http://bbs.csdn.net/topics/340234292 http://blog.csdn.net/junshao90/article/details/821575 ...
- android 为activity添加optionMenu选项菜单
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android: ...
- Android ListView(Selector 颜色)
listview_color.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...
- 《ArcGIS Engine+C#实例开发教程》第二讲 菜单的添加及其实现
原文:<ArcGIS Engine+C#实例开发教程>第二讲 菜单的添加及其实现 摘要:在上一讲中,我们实现了应用程序基本框架,其中有个小错误,在此先跟大家说明下.在“属性”选项卡中,我们 ...
- 【HDOJ】3652 B-number
终于自己写出来一道数位DP啊.继续训练DP. /* 3652 */ #include <iostream> #include <sstream> #include <st ...
- 基于Hadoop Sequencefile的小文件解决方案
一.概述 小文件是指文件size小于HDFS上block大小的文件.这样的文件会给hadoop的扩展性和性能带来严重问题.首先,在HDFS中,任何block,文件或者目录在内存中均以对象的形式存储,每 ...
- C#排序算法的比较
首先通过图表比较不同排序算法的时间复杂度和稳定性. 排序方法 平均时间 最坏情况 最好情况 辅助空间 稳定性 直接插入排序 O(n2) O(n2) O(n) O(1) 是 冒泡排序 O(n2) O(n ...
- 在Windows中隐藏用户的方法
这两天新建了一个用户用于共享文件,由于我的电脑只有我一个人用,多了一个用户后在登录界面上觉得挺碍事的,便想把它隐藏起来.找了一下,可以通过如下方式实现: 在注册表编辑器新建项值: HKEY_LOCAL ...
- Android ImageView的属性android:scaleType
ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType) imageView.setScaleType(Im ...
- .9.png
.9.png是一种非失真性压缩位图图形文件格式.PNG格式是非失真性压缩的,允许使用类似于GIF格式的调色板技术,支持真彩色图像,并具备阿尔法通道(半透明)等特性.现在有很多人使用PNG格式于互联网及 ...