1. 程式人生 > >cocos2dx 3.0 lua 關於listview和item點選和滑動的觸控吞噬問題

cocos2dx 3.0 lua 關於listview和item點選和滑動的觸控吞噬問題

cocos版本3.15,使用studio編輯介面 

-- 建立item

local item1 =Item:create(array[index])

item1:setPosition(pos)

self.ui.listview:addChild(item1)


item是studio中的搭建的模版,根結點是layout,子節點bg是imageview,其他東西全在imageview下面

我使用的bg作為點選物件,通過下面的方法,我即可以滑動listview,也可以實現item的點選

self.ui.bg:setTouchEnabled(true)  -- 設定為可點選
self.ui.bg:setSwallowTouches(false)  --設定不吞噬下層觸控
Method.onTouch(self.ui.bg,function ( ... )  --  點選事件

MUIUtility.playBtnEffect()

        print(“-----------onTouch-----------”)

 end)


--點選方法

function Method.onTouch(_layer,_callback)
_layer:addTouchEventListener(function(ref, tType)
if tType == ccui.TouchEventType.began then
ref:setColor(cc.c3b(128,128,128))

elseif tType == ccui.TouchEventType.moved then
ref:setColor(cc.c3b(128,128,128))
elseif tType == ccui.TouchEventType.ended then
ref:setColor(cc.c3b(255,255,255))
MUIUtility.playBtnEffect()
_callback()
elseif tType == ccui.TouchEventType.canceled then
ref:setColor(cc.c3b(255,255,255))
end
    end)
end