Cocos2d iphone 如何让cocos2d检测非标准矩形形状中的触摸?

Cocos2d iphone 如何让cocos2d检测非标准矩形形状中的触摸?,cocos2d-iphone,Cocos2d Iphone,我花了很多时间在谷歌上搜索,找到了这个问题的很多不同答案,其中大多数都很老了。。我尝试了两种方法——特别是这一种(第一个答案是containsPoint/containsTouch category方法): 当我实现它时,当我远离精灵时,它错误地检测到了精灵的触碰——除此之外,我还收到了许多警告,如“openGLView已弃用” 接下来,我看到了这个帖子: 并查看了touchesTest项目。。。在我的头中添加了“CCTargetedTouchDelegate”协议,然后添加了相关的实现方法

我花了很多时间在谷歌上搜索,找到了这个问题的很多不同答案,其中大多数都很老了。。我尝试了两种方法——特别是这一种(第一个答案是containsPoint/containsTouch category方法):

当我实现它时,当我远离精灵时,它错误地检测到了精灵的触碰——除此之外,我还收到了许多警告,如“openGLView已弃用”

接下来,我看到了这个帖子:

并查看了touchesTest项目。。。在我的头中添加了“CCTargetedTouchDelegate”协议,然后添加了相关的实现方法(oneter、onExit、containsTouchLocation和cctouchdelegate)。。。发现这不起作用,因为我使用的精灵不是矩形

我的按钮看起来有点像这样:

旋转的矩形,向下时会变得更窄


如果您对此有任何帮助,我们将不胜感激。

我使用了CGPathRef,并且也进行了工作。类似于你的问题。请参考该解决方案。

您可以实现简单的算法来检测点是否位于多边形内。在这种情况下,点将是您的触摸位置,多边形将是您的按钮电路

或者你可以做一些更复杂的事情。您可以创建自己的菜单和按钮。它将允许您创建像containsPoint:这样的方法,该方法将检查给定位置的像素是否具有零alpha值