如何检测特定NSMutableArray中的对象触摸?

时间:2014-08-19 15:52:38

标签: ios objective-c cocos2d-iphone

我有一个NSMutableArray,里面装满了不同的精灵。这些精灵都在屏幕上。如何检测触摸是否落在其中一个精灵上,然后在精灵上触摸时执行某些操作?

这就是我现在所拥有的,

CGPoint touchLocation = [touch locationInNode:_physicsNode];

if(CGRectContainsPoint((starInArray.boundingBox), touchLocation))  {

我希望能够说(starInArray.boundingBox)之类的内容,而不是(anyObjectInMyArray.boundingBox)

有什么方法可以解决这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

有些事情应该有效。

  - (BOOL) ccTouchBegan:(UITouch *)touches withEvent:(UIEvent *)event 
{

CGPoint touchLocation = [self convertTouchToNodeSpace:touches];    
        for (CCSprite *star in starInArray)
            {
                if (CGRectContainsPoint(CGRectMake(star.position.x - star.contentSize.width/2,
                                                   star.position.y - star.contentSize.height/2, star.contentSize.width, star.contentSize.height), touchLocation))
                {
                    //Do Something
                    break;
                }
            }
}