2011-12-16 53 views
1

有没有办法改变cocos2d iOS精灵的触摸优先级?我的屏幕上有多张卡片,它们排成一条弧形,就像将它们握在手中一样。所以在这个设置中,它们重叠,我需要识别触摸是在哪张卡上制作的。我可以测量每张卡片顶点的坐标并确定卡片的可见区域,然后检查是否在该区域内进行了触摸(不是吗?),但我认为会有更简单的方法来处理这个问题,说改变触摸优先级?这意味着最靠近屏幕的卡片具有最高的优先级,并且它会一直保持减少到背景中,因此即使一次触摸2个精灵(上下),它也会只在优先级更高的精灵上注册。如何更改重叠精灵的触摸优先级

阅读在互联网上唯一透露的方式来更改优先级的精灵和层,它定义了触摸是否在层或游动上进行,但是这不是我想要的。

回答

0

据我所知,在默认情况下你正是这样的行为,更接近(在z AX)的精灵给你有优先权。不过,我认为他们也把事件传递给了他们。所以,我认为你需要做的就是在事件到达任何你的精灵时吃掉事件。要做到这一点,只需在覆盖“touchBegin”方法时返回NO。希望能帮助到你。

+0

嘿,非常感谢。我做了类似的事情,当触摸已经被检测到时,我刚刚在touchBegan中返回TRUE,以便触摸不会进一步降低,因为只要返回语句执行时函数就会结束。 – Prst 2011-12-17 12:55:24