[Cocos2d-x + c++]Tableview使用总结

Tableview为我们提供了列表功能,在游戏中可以用来呈现物品,道具等,效果如下图:

在上图中,有两个列表,一个是水平方向的,一个是竖直方向的,该效果图出自cocos2d-x自带的例子,里面有相关的代码,可以自行查阅,这里我只记录一下相关接口,以便日后使用:

 1 #include "cocos2d.h"
 2 #include "cocos-ext.h"
 3
 4 class TableViewLayer : public cocos2d::CCLayer, public cocos2d::extension::CCTableViewDataSource, public cocos2d::extension::CCTableViewDelegate
 5 {
 6     virtual bool init();
 7     CREATE_FUNC(TableViewLayer);
 8
 9     //下面两个函数一般空实现
10     virtual void scrollViewDidScroll(cocos2d::extension::CCScrollView* view) {};
11     virtual void scrollViewDidZoom(cocos2d::extension::CCScrollView* view) {}
12     //点击某个列表项时触发的回调函数
13     virtual void tableCellTouched(cocos2d::extension::CCTableView* table, cocos2d::extension::CCTableViewCell* cell);
14     //设置指定位置的列表项的大小
15     virtual cocos2d::CCSize tableCellSizeForIndex(cocos2d::extension::CCTableView *table, unsigned int idx);
16     //设置指定位置的列表项中要显示的内容
17     virtual cocos2d::extension::CCTableViewCell* tableCellAtIndex(cocos2d::extension::CCTableView *table, unsigned int idx);
18     //设置列表中有多少个列表项
19     virtual unsigned int numberOfCellsInTableView(cocos2d::extension::CCTableView *table);
20 };

对代码说明一下,首先要包含扩展包,因为CCTableView由扩展包提供,CCTableView是列表,CCTableViewCell是列表项,要使用CCTableView就必须继承CCTableViewDataSource类和CCTableViewDelegate类,前者是为列表提供内容相关的操作,后者是为列表提供管理和控制相关的操作,并重写对应的虚函数即可。

[Cocos2d-x + c++]Tableview使用总结

时间: 2024-11-08 10:12:27

[Cocos2d-x + c++]Tableview使用总结的相关文章

【Cocos2d-X】TableView的使用

在Cocos2d-x使用TableView的过程如下: 首先用一个类继承CCTableViewDelegate(代理)和CCTableViewDataSource(数据源): 然后实现里面的有关tableView操作和内容的四个抽象方法: 最后就可以在场景类中通过CCTableView来使用这个类,CCTableView会分别设置代理对象和数据源对象 示例: TableView.h #ifndef _TABELVIEW_H_ #define _TABLEVIEW_H_ #include "coc

UITableViewController 滚动引起的cocos2d动画暂停问题的解决

UITableViewController 滚动引起的cocos2d动画暂停问题的解决 之前在使用UITableViewController进行滚动时,cocos2d的动画会暂停,直至滚动完毕才会继续动画. 后来发现可以这样解决,想要了解更多,请查阅NSRunLoop相关知识. // .h NSTimer* m_timer; // .m- (void)updateCCDirector { [[CCDirector sharedDirector] drawScene]; if (!self.tab

1CCTableView的使用,TableView响应和小格子tableView实现

1        CCTableView的使用 T26TableView.h #ifndef __T26TableView_H__ #define __T26TableView_H__ #include "cocos2d.h" #include "cocos-ext.h" #include "TBack.h" USING_NS_CC; USING_NS_CC_EXT; class T26TableView :public TBack, publi

【COCOS2DX-游戏开发之三四】cocos2dx 3.0 TableView特殊用法:滚动时不能选择等等

cocos2dx 3.0版本TableView拍生自ScrollView,常用来做滚动列表,有几种特殊用法,不知道大家用到过没 要求:1.滚动时不能选中TableCell,非滚动状态才能选中 很简单,在TableView的delegate函数中,通过isTouchMoved()函数来判断 void WeaponSelectLayer::tableCellUnhighlight(cocos2d::extension::TableView* table, cocos2d::extension::Ta

cocos2d-x之TableView列表

HelloWorld.h #ifndef __HELLOWORLD_SCENE_H__#define __HELLOWORLD_SCENE_H__ #include "cocos2d.h"#include <cocos-ext.h> USING_NS_CC_EXT;USING_NS_CC;//相当于using namespace cocos2d; //使类继承TableViewDataSource类型添加列表项,继承TabelViewDelegate添加事件监听器class

cocos2d-3x 版本tableview的使用(怎么取消弹簧效果);

1.在VS中设置 C++ 附加包含目录编辑添加$(EngineRoot)这句话. 2.引入头文件,而不这样写的目的是为了解决安卓找不到tableview.在引入命令空间. 3.实现tableview的功能,首页要共有继承TableViewDataSource和TableViewDelegate两个代理类. 4.实现下面的虚方法 virtual void scrollViewDidScroll(cocos2d::extension::ScrollView*view)override{}; virt

【COCOS2DX-游戏开发之三四】cocos2dx 3.0 TableView特殊使用方法:滚动时不能选择等等

cocos2dx 3.0版本号TableView拍生自ScrollView,经常使用来做滚动列表,有几种特殊使用方法,不知道大家用到过没 要求:1.滚动时不能选中TableCell,非滚动状态才干选中 非常easy,在TableView的delegate函数中,通过isTouchMoved()函数来推断 void WeaponSelectLayer::tableCellUnhighlight(cocos2d::extension::TableView* table, cocos2d::exten

cocos2dx之TableView和ScrollView的混合使用

************************************************************************** 时间:2015-01-09 作者:Sharing_Li 转载出处:http://blog.csdn.net/sharing_li/article/details/42298317 *************************************************************************** 玩过<开心消消乐>

Cocos2d-x3.1中的TableView的使用

1.首先看TableView的头文件 #include "cocos2d.h" #include "extensions/cocos-ext.h"//包含TableView的头文件 #include "ItemAdapter.h"//适配类 USING_NS_CC; //事件回调函数 typedef std::function<void(Ref*,cocos2d::ui::Widget::TouchEventType)> menuCa