1

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

但在顶部 cclayer 下方,我想要另一个启用多点触控的 cclayer。因此,每当没有在顶部 cclayer 上触摸对象时,我希望底部 cclayer 对触摸做出反应。底部的 cclayer 基本上只是一个纯色背景,我希望它在被触摸时做出反应。现在两个cclayers同时对触摸做出反应。

我知道单点触摸很容易通过触摸调度程序解决并设置优先级。但我被卡住了,因为两个 cclayer 都启用了多点触控很重要。

有什么解决办法吗?

4

1 回答 1

1

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

单次触摸:当该层处理触摸并且另一层不应该也处理该触摸时,从 ccTouchBegan 返回 YES。

于 2013-03-31T16:09:18.967 回答