语言:cocos2dx + lua
开发环境:无
UI编辑器:Cocos Studio v2.0.6
问题描述:
ScrollView滑动时,当其中含有其它具有监听事件的子控件时,监听冲突,出现滑不动的情况
解决:
不改底层,不用特殊语法,纯Lua逻辑实现,我所发现的最快速,最简洁的方式。
--[[--*ScrollView滑动与其子控件监听冲突的解决方案*]]
local moveOrReq = nil --移动或请求
local countMove = 1 --移动计次
--监听事件:按钮(子控件)
local TouchEventByBtn = function (obj,e)
if e == ccui.TouchEventType.began then ---0
moveOrReq = nil
countMove = 1
elseif e == ccui.TouchEventType.moved then ---1
countMove = countMove + 1
if countMove > 10 then --/*这里的值自己定义*/
moveOrReq = "move"
end
elseif e == ccui.TouchEventType.ended and moveOrReq == nil then ---2(重点:执行事件放这里)
--这里执行需要执行的按钮事件
elseif e == ccui.TouchEventType.canceled then ---3
moveOrReq = nil
end
end