CCTableView
今天用到TableView, 我就来记录一下....这些都是在网上找到了资料
//首先 继承 :
public cocos2d::extension::CCTableViewDelegate,
public cocos2d::extension::CCTableViewDataSource
//CCTableViewDelegate继承自CCScrollViewDelegate 方法可以空着,但一定要写
virtual void scrollViewDidScroll(cocos2d::extension::CCScrollView* view);
virtual void scrollViewDidZoom(cocos2d::extension::CCScrollView* view);
//下面TableView所用到的方法
//点击哪个cell 调用的方法 点击方法调用顺序( Highlight -> Unhighlight -> Touched )
virtual void tableCellTouched(cocos2d::extension::CCTableView* table, cocos2d::extension::CCTableViewCell* cell);
//每个cell的size
virtual cocos2d::CCSize cellSizeForTable(cocos2d::extension::CCTableView *table);
//生成cell
virtual cocos2d::extension::CCTableViewCell* tableCellAtIndex(cocos2d::extension::CCTableView *table, unsigned int idx);
//cell的数量
virtual unsigned int numberOfCellsInTableView(cocos2d::extension::CCTableView *table);
//按下去的时候调用的方法
virtual void tableCellHighlight(cocos2d::extension::CCTableView* table, cocos2d::extension::CCTableViewCell* cell);
//松开的时候调用的方法
virtual void tableCellUnhighlight(cocos2d::extension::CCTableView* table, cocos2d::extension::CCTableViewCell* cell);
//接下来是实现,首先创建TableView
CCSize visibSize=CCDirector::sharedDirector()->getVisibleSize();
//传入自己,后面的size是TableView显示的大小
CCTableView *tableView=CCTableView::create(this, CCSizeMake(visibSize.width, visibSize.height));
//横向还是竖向 ( kCCScrollViewDirectionVertical 竖向 ; kCCScrollViewDirectionHorizontal 横向 )
tableView->setDirection(kCCScrollViewDirectionVertical);
tableView->setPosition(CCPointZero);
tableView->setDelegate(this);
//call的id顺序 (kCCTableViewFillTopDown 从上到下 ; kCCTableViewFillBottomUp 从下到上)
tableView->setVerticalFillOrder(kCCTableViewFillTopDown);
//是否开启回弹 默认开启
tableView->setBounceable(true);
);
tableView->reloadData();
unsigned int HelloWorld::numberOfCellsInTableView(CCTableView *table)
{
; //显示10行
}
; // Tag值
CCTableViewCell* HelloWorld::tableCellAtIndex(CCTableView *table, unsigned int idx) {
CCLOG("%d",idx); //idx 就是每个cell的下标,获取到下标就能知道点击的是那个call
//当cell在屏幕外面时, 就被放入dequeueCell() 中
CCTableViewCell *cell = table->dequeueCell();
CCSprite *mSprite;
if (!cell) {
//如果没有就创建...
cell = new CCTableViewCell();
cell->autorelease();
mSprite= CCSprite::create("cell.png");
mSprite->setAnchorPoint(CCPointZero);
mSprite->setTag(m_iNodeTag);
mSprite->setPosition(ccp(, ));
cell->addChild(mSprite);
CCLabelTTF *label = CCLabelTTF::create(string->getCString(), "Helvetica", 20.0);
label->setPosition(CCPointZero);
label->setAnchorPoint(CCPointZero);
label->setTag();
cell->addChild(label);
} else {
//如果有了就获取tag值
mSprite = dynamic_cast<CCSprite *>(call->getChildByTag( iNodeTag ));
CCLabelTTF *label = (CCLabelTTF*)cell->getChildByTag();
label->setString(string->getCString());
}
//在这里写一个接口...改变各个cell
return cell;
}
CCSize CActivityLayer::cellSizeForTable(CCTableView *table) {
//返回的是每一个cell 的size
);
}
ps:剩下没写的函数..我这写的是空....有需求的看着上面的函数声明来写
CCTableView的更多相关文章
- 【Cocos2d-x for WP8 学习整理】(4)CCTableView 实现《天天爱消除》中的得分榜
接上回 CCScrollView 继续,在GUI 里还有个 CCScrollView 的子类---CCTableView . 这个名字应该是从 IOS 里的 UITableView来的,其实是跟WP8 ...
- cocos2d-x CCScrollView和CCTableView的使用(转载)
转载请注明来自:Alex Zhou的程序世界,本文链接:http://codingnow.cn/cocos2d-x/1024.html //============================== ...
- CCScrollView/CCTableView(CCTableViewDelegate CCTableViewDataSource CCTableView-滑动列表-游戏中大量使用 非常重要的一个类)
tableview scrollViewDidScroll函数中有一段 ---- 即---滑动tableview时触发的函数 : 会将全部显示的cell又一次刷新(刷新函数中调用了自己定义的ta ...
- cocos2d-x CCTableView
转自:http://www.cnblogs.com/dcxing/archive/2013/01/16/2862068.html CCTableView在游戏中一般用在背包这样场景或层中,当然也不止这 ...
- CCTableView的使用和注意事项
#include "cocos-ext.h" using namespace cocos2d::extension; class TableViewTestLayer: publi ...
- Cocos2d—X游戏开发之CCTableView详解(十一)
本来很早就想写关于CCTableView的文章,但是在基本功能实现之后呢,项目需求增加导致对这个控件的研究必须更加深入一点. 好的,现在开始介绍一下这个控件,在Cocos2d—X引擎中,这是一个仿制i ...
- CCTableView 简单样例
非常像android中的listview #pragma once; #include "cocos2d.h" using namespace cocos2d; //使用CCTab ...
- Cocos2d-x CCTableView实现列表
在ios程序设计中,会大量使用到tableview视图(UITableView),那么在cocos2d-x中,如果需要类似的列表,该如何实现呢?在引擎中参照ios中的UITableView实现了一个叫 ...
- cocos2d-x关于CCTableView的“乱序问题”的理解
Cocos2d-x有一个不错的控件CCTableView.之前用的时候发现有cell的顺序错乱和重复出现的问题.后来仔细看了一下源码,发现是自己用法错误.但是网上有人说是一个bug,要改源码.我发现2 ...
- Cocos2d-X 使用CCTableView创建滚动视图
CCTableView和CCScrollView如创建滚动视图,CCTableView该函数将是更,制造更多麻烦 实例1:使用CCTableView创建滚动视图 首先创建一个TableView类 Ta ...
随机推荐
- hdu 3760(2次bfs求最短路)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3760 思路:首先是建反图,从点n开始做spfa求出n到各点的最短路,然后从1点开始搜最小序列,对于边( ...
- PagerAdapter 普通写法
1,viewPagre的普通写法 public ImagePagerAdapter(Context context, List<Photo> imgList) { this.mContex ...
- php实现简单的权限管理
今天主要来实现一个权限管理系统,它主要是为了给不同的用户设定不同的权限,从而实现不同权限的用户登录之后使用的功能不一样,首先先看下数据库 总共有5张表,qx_user,qx_rules和qx_jues ...
- js文章收藏
js文件被浏览器缓存的问题:http://www.cnblogs.com/wangtao_20/p/4589898.html
- 移动端1px细线解决方案--利用transform缩放方式
移动端1px会显示为2px; 解决方式很多,这里介绍比较常用的一种方式--css的transform属性缩放 1. 上边框 相当于 border-top <div class="bor ...
- Angular2+学习第1篇 简介
历史: Angular是Google推出的Web前端开发框架,从12年发布起就受到了强烈的关注,他首次提出了双向绑定的概念,让人耳目一新. Angular 2特性 就在2016年9月中旬,时隔4年,G ...
- chrome不支持字体12px
如果网页字体小于12px的话,人眼看着会不太舒服,所以chrome的最小字体为12px. 如果想要缩小字体,可以尝试用CSS3中的 transform: scale(相应的缩小倍数)来实现. 不过不推 ...
- Zabbix添加web页面监控告警
一,选择添加了web监控的主机 二,创建一个告警触发器 三,定义监控项 设置完毕假如网站down就会触发告警 怎么设置web监控以及触发告警action参考 Zabbix使用SMTP发送邮件报警并且制 ...
- json序列化懒加载问题
如果框架使用了json序列化对象,当配置了hibernate懒加载时,可能会抛出异常,或者出现N+1的问题,或者出现无限循环的问题.网上很多解决方案, 基本是这些:@JsonIgnore忽略可能出问题 ...
- Servlet------>jsp自定义标签5(标签体内容改为大写)
5.把标签体内容改为大写(tld中的配置我就省略了,详细请看jsp自定义标签1) import java.io.IOException; import javax.servlet.jsp.JspExc ...