在旋转的CCLayer上触摸

时间:2013-03-19 15:37:11

标签: cocos2d-iphone

旋转CCLayer后,我的boundingBox增长,而不是旋转。也许是值得期待的。

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

if(CGRectContainsPoint(clickableLayer.boundingBox, touchLocation))

这会导致出现问题,因为旋转后此边界框会覆盖其他可点击的内容。

如果触摸了实际图层,我该如何才执行操作?我想要点击绿色框时发生一些事情,而不是图层的边界框。

思想?

enter image description here

2 个答案:

答案 0 :(得分:1)

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

请参阅此thread中的答案。

有关如何创建CGPath的信息:Here

有关详细信息,请Click Here

enter image description here

答案 1 :(得分:1)

这个帖子让我得到了答案:http://www.cocos2d-iphone.org/forum/topic/272336