前端之家收集整理的这篇文章主要介绍了
cocos2dx lua tableview,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
function tableview()
local origin = CCEGLView:sharedOpenGLView():getVisibleSize();
local TestLayer = CCLayer:create()
local NodeBg=CCNode:create();
NodeBg:setPosition(ccp(10,origin.height/8))
local data = {}
for i = 1,10 do table.insert(data,"Data"..i) end --装入tableview的数据源
local h = LuaEventHandler:create(function(fn,table,a1,a2)
local r
if fn == "cellSize" then
r = CCSizeMake(480,100) --每格的尺寸
elseif fn == "cellAtIndex" then
-- 请求“格”对象,a1是格索引(从0开始),a2是缓存的格对象(可能为空)
-- 在此建立“格”对象并填充其要显示的内容。
if not a2 then
a2 = CCTableViewCell:create()
-- Build cell struct,just like load ccbi or add sprite
-- 建立“格”对象的结构,不要在此设定其显示的内容。
a2:addChild(CCLabelTTF:create(""..a1,"Arial",20),1)
--这里就相当cell容器,可以装入ccbi层、精灵、菜单等控件
local spriteDemo = CCScale9Sprite:create("80.png");
spriteDemo:setAnchorPoint(ccp(0,0))
spriteDemo:setContentSize(CCSizeMake(300,100))
a2:addChild(spriteDemo)
end
-- 修改“格”对象的内容
tolua.cast(a2:getChildByTag(1),"CCLabelTTF"):setString(data[a1 + 1])
r = a2
a2:setTag(a1+1);
elseif fn == "numberOfCells" then
r = #data
-- Cell events:
-- 表格事件:
elseif fn == "cellTouched" then
print("按了:".. a1:getTag()) -- A cell was touched,a1 is cell that be touched. This is not necessary.
elseif fn == "cellTouchBegan" then
print("按下".. a1:getTag()) -- A cell is touching,a1 is cell,a2 is CCTouch
elseif fn == "cellTouchEnded" then
print("按完".. a1:getTag()) -- A cell was touched,a2 is CCTouch
elseif fn == "cellHighlight" then
print("高亮的:"..a1:getTag() ) -- A cell is highlighting,coco2d-x 2.1.3 or above
elseif fn == "cellUnhighlight" then
print("不是高亮".. a1:getTag()) -- A cell had been unhighlighted,coco2d-x 2.1.3 or above
elseif fn == "cellWillRecycle" then -- A cell will be recycled,coco2d-x 2.1.3 or above
print( a1:getTag() )
end
return r
end)
--创建tableview
local t = LuaTableView:createWithHandler(h,CCSizeMake(480,400))
t:setBounceable(true)
--节点定位tableview
NodeBg:addChild(t,1)
TestLayer:addChild(NodeBg)
-- parent:addChild(TestLayer)
return TestLayer
end
原文链接:https://www.f2er.com/cocos2dx/346759.html