Cocos2d iphone 在旋转的图层上触摸

Cocos2d iphone 在旋转的图层上触摸,cocos2d-iphone,Cocos2d Iphone,旋转CCLayer后,边界框将增长,而不是旋转。也许这是意料之中的 我的问题是,我依赖于用户对这一层的触摸。如所附图像底部的图所示旋转图层时,可单击区域会增加,因为我正在调用: if(CGRectContainsPoint(clickableLayer.boundingBox, touchLocation)) 这会导致一个问题,因为旋转后的边界框覆盖了其他也可以单击的内容 如何仅在触摸实际层时执行操作?我希望在单击绿色框而不是层的边界框时发生一些事情 想法 您可以使用CGMutablePath

旋转CCLayer后,边界框将增长,而不是旋转。也许这是意料之中的

我的问题是,我依赖于用户对这一层的触摸。如所附图像底部的图所示旋转图层时,可单击区域会增加,因为我正在调用:

if(CGRectContainsPoint(clickableLayer.boundingBox, touchLocation))
这会导致一个问题,因为旋转后的边界框覆盖了其他也可以单击的内容

如何仅在触摸实际层时执行操作?我希望在单击绿色框而不是层的边界框时发生一些事情

想法


您可以使用CGMutablePathRef检测透明部件:

请参考我的答案

有关如何创建CGPath的信息:

欲了解更多信息


这条线索让我找到了答案: