layer a 在layer b上层,b上有个按钮,a注册了多点触摸监听实现双指缩放,给a注册了单点触摸监听设置setSwallowTouches(true)后,多点触摸失效了
local function onTouchBegan(touch, event)
print("OneByOne")
return true
end
local function onTouchesBegan(touch, event)
print("AllAtOnce")
return true
end
local listener1 = cc.EventListenerTouchOneByOne:create()
listener1:setSwallowTouches(true)
listener1:registerScriptHandler(onTouchBegan,cc.Handler.EVENT_TOUCH_BEGAN )
local listener2 = cc.EventListenerTouchAllAtOnce:create()
listener2:registerScriptHandler(onTouchesBegan,cc.Handler.EVENT_TOUCHES_BEGAN )
local eventDispatcher = self:getEventDispatcher()
eventDispatcher:addEventListenerWithSceneGraphPriority(listener1, self)
eventDispatcher:addEventListenerWithSceneGraphPriority(listener2, self)
在ab重叠的地方点击
设置setSwallowTouches(true)之前:

设置setSwallowTouches(true)之后:
![]()