Ios 2层堆叠的多点触控CCL层

Ios 2层堆叠的多点触控CCL层,ios,objective-c,cocos2d-iphone,multi-touch,Ios,Objective C,Cocos2d Iphone,Multi Touch,我有两层。顶层ccnode具有多个对象(从ccnode派生),并且启用了多点触控。我使用CCTouches开始检测这些对象上的触摸。一切正常 但在顶层cclayer下面,我希望有另一个支持多点触控的cclayer。因此,每当一个物体没有在顶部cclayer上被触碰时,我希望底部cclayer对触碰做出反应。底层基本上只是一个坚实的背景,我希望它在被触摸时做出反应。现在,两个CClayer同时对触摸做出反应 我知道,对于单触,使用touchdispatcher和设置优先级很容易解决这个问题。但我被

我有两层。顶层ccnode具有多个对象(从ccnode派生),并且启用了多点触控。我使用CCTouches开始检测这些对象上的触摸。一切正常

但在顶层cclayer下面,我希望有另一个支持多点触控的cclayer。因此,每当一个物体没有在顶部cclayer上被触碰时,我希望底部cclayer对触碰做出反应。底层基本上只是一个坚实的背景,我希望它在被触摸时做出反应。现在,两个CClayer同时对触摸做出反应

我知道,对于单触,使用touchdispatcher和设置优先级很容易解决这个问题。但我被卡住了,因为两个CClayer都支持多点触控是很重要的


有什么解决方法吗?

多点触控:仅在顶层启用触控输入。如果顶层确定某个触摸没有在该层的精灵之一上开始,它将简单地在底层调用相同的CCTouchesBegind方法。该特定触摸的所有后续事件(移动、结束)都相同


单次触摸:当该层处理触摸时,从CCTouchStart返回YES,而另一层不应处理该触摸。

多次触摸:仅在顶层启用触摸输入。如果顶层确定某个触摸没有在该层的精灵之一上开始,它将简单地在底层调用相同的CCTouchesBegind方法。该特定触摸的所有后续事件(移动、结束)都相同


单点触摸:当该层处理触摸时,从CCTouchStart返回YES,而另一层不应处理该触摸。

在顶层多点触摸是“必须”的吗?ie您希望能够同时检测和跟踪顶层中包含的多个对象上的触摸?多层触摸在顶层是“必须”的吗?ie您希望能够同时检测和跟踪顶层包含的多个对象上的触摸吗?CCToucheSBegind是一种(无效)返回方法。这是问题的症结所在,我相信,我找不到任何方式来“声称”任何一种接触。如果顶层是目标层(而不是标准层),则您的建议适用。@YvesLeBorg使用touchDispatcher for(Bool)ccTouchBegan@LearnCocos2D我不太明白。因为如果底层未启用触摸输入,则不会调用CCTouchesBegind。如果在第二层上启用了触摸输入,则当我触摸顶层上的一个对象时,CCToucheSBegind也始终被调用。你可以澄清一下你的答案吗?这个想法是你自己从顶层调用底层的cctouchsbegind etc,只要顶层确定底层应该处理触摸而不是cctouchsbegind是一个(无效)返回方法。这是问题的症结所在,我相信,我找不到任何方式来“声称”任何一种接触。如果顶层是目标层(而不是标准层),则您的建议适用。@YvesLeBorg使用touchDispatcher for(Bool)ccTouchBegan@LearnCocos2D我不太明白。因为如果底层未启用触摸输入,则不会调用CCTouchesBegind。如果在第二层上启用了触摸输入,则当我触摸顶层上的一个对象时,CCToucheSBegind也始终被调用。也许你能澄清一下你的答案吗?这个想法是,当顶层决定底层应该处理触摸时,你自己从顶层调用底层的cctouchsbegind etc