Quick-x 2.2.1-rc 触摸优先级出了难题

top_layer children结构
mask_layer
touch_layer

mask_layer 是遮罩层 屏蔽所有其他的事件
touch_layer 上面还有 sprite 开启了触摸事件,但是一旦我
设置了mask_layer的优先级,touchu_layer上的sprite 就不会响应事件了,
应该怎么比较好的解决呢?

伪代码如下
local top_layer=display.newLayer();
local touch_layer=display.newLayer();
local mask_layer=CCLayerColor:create(ccc4(0, 0, 0, 100),display.right,display.top);
top_layer:addChild( mask_layer);
top_layer:addChild( touch_layer);
mask_layer:setTouchEnabled(true);
mask_layer:registerScriptTouchHandler(function(event,x,y)
return true
end,false,-128,true);
ccScene:addChild(top_layer);

local touchSprite=display.newSprite("#btn.png");
touch_layer:addChild(touchSprite)
touchSprite:setTouchEnable(true);
touchSprite:addTouchEventListener(function()
print(“这里没响应”)
end,false,-129,false)

有个set Spawn什么吞噬的试了么。

注册触摸事件的时候
mask_layer 已经设置吞噬为true了 addTouchEventListener(handler,mtouch,p,swallow)

@微微蓝:6:

2.2.3中
– 是否允许当前 node 和所有子 node 捕获触摸事件
– 默认值: true
node:setTouchCaptureEnabled(true)

– 如果当前 node 响应了触摸,是否吞噬触摸事件(阻止事件继续传递)
– 默认值: true
node:setTouchSwallowEnabled(true)

2.2.1的话 参考
建议用 空的 sprite 实现以上方案
local sprite = display.newSprite()
sprite:setTouchEnabled(true)
sprite:addTouchEventListener(function(event, x, y) end)

感谢:7:感谢感谢感谢感谢