IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> cocos2d-lua中tableview使用 -> 正文阅读

[游戏开发]cocos2d-lua中tableview使用

在实际需求中,通常需要在一个给定的面板显示tableview

  1. 创建tableview
--RewardPanel为给定的panel
local size = self.RewardPanel:getContentSize()
self.mRewardItemView = cc.TableView:create(cc.size(size.width, size.height))
  1. 设置table view
--设置滚动方向cc.SCROLLVIEW_DIRECTION_VERTICAL(垂直方向)cc.SCROLLVIEW_DIRECTION_HORIZONTAL(水平方向)
self.mRewardItemView:setDirection(cc.SCROLLVIEW_DIRECTION_VERTICAL)
--设置排列顺序
self.mRewardItemView:setVerticalFillOrder(cc.TABLEVIEW_FILL_TOPDOWN) 
--设置忽略锚点对位置的影响
self.mRewardItemView:setIgnoreAnchorPointForPosition(false)
--设置锚点
self.mRewardItemView:setAnchorPoint(0, 0)
--设置坐标
self.mRewardItemView:setPosition(0, 0)
--tableview加到面板上
self.RewardPanel:addChild(self.mRewardItemView)

3.设置tableview回调
重点

--设置代理
self.mRewardItemView:setDelegate()
--滚动时的回掉函数
self.mRewardItemView:registerScriptHandler(handler(self, self.scrollViewDidScroll), cc.TABLECELL_TOUCHED)
--列表项的数量
self.mRewardItemView:registerScriptHandler(handler(self, self.cellNumForTable), cc.NUMBER_OF_CELLS_IN_TABLEVIEW)
--设置列表项的尺寸cell
self.mRewardItemView:registerScriptHandler(handler(self, self.cellSizeForTable), cc.TABLECELL_SIZE_FOR_INDEX)
--创建列表项cell
self.mRewardItemView:registerScriptHandler(handler(self, self.tableCellAtIndex), cc.TABLECELL_SIZE_AT_INDEX)

4.回调处理

function M:scrollViewDidScroll(tableview, cell)
    --滚动时处理
end
function M:cellNumForTable(tableview)
    return self.mRow --表示tableview有多少行,通常用数据表长/一行的个数取整
end

function M:cellSizeForTable(tableview, idx)
    return ROW_WIDTH, ROW_HEIGHT --cell的size
end

function M:tableCellAtIndex(tableview, idx)
    local cell = tableview:dequeueCell()
    if nil == cell then
        cell = cc.TableViewCell:new()
    end
    --...此处省略自己需要的处理

    return cell
end
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-08-31 15:47:58  更:2021-08-31 15:48:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 -2025/2/5 22:04:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码