2个堆叠多个触摸启用CCLayers

时间:2013-03-31 13:00:01

标签: ios objective-c cocos2d-iphone multi-touch

我有两个cclayers。顶级cclayer有几个对象(派生自ccnode)并启用了多点触控。我使用cctouchesbegan来检测这些对象的触摸。一切正常。

但是在顶级cclayer下面我想要另一个多点触控启用cclayer。因此,无论何时没有触及顶层cclayer上的物体,我都希望底部的cclayer能够对触摸作出反应。底部cclayer基本上只是一个坚实的背景,我希望它在触摸时做出反应。现在两个cclayers同时对触摸作出反应。

我知道只需触摸一下,使用touchdispatcher并设置优先级就很容易解决。但我被卡住了,因为两个cclayer都启用了多点触控非常重要。

有什么解决方法吗?

1 个答案:

答案 0 :(得分:1)

多次触摸:仅在顶层启用触摸输入。如果顶层确定触摸未在其中一个sprite上开始,则它将在底层调用相同的ccTouchesBegan方法。对于特定触摸的所有后续事件(移动,结束)也是如此。

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