CGRectIntersectsRect()用于检测第一次拦截

时间:2013-08-18 19:30:40

标签: objective-c cocos2d-iphone

我使用CGRectIntersectsRect()查看CCSprite何时与另一个CCSprite发生碰撞:

- (void)update3
{
    for (CCSprite *sprite in _monsters)
    {
        if (CGRectIntersectsRect(_rocket.boundingBox, sprite.boundingBox))
        {
            NSLog(@"Collide");
        }
    } 
}

只要精灵彼此接触就会触发日志,我只想检测第一次触摸。这可能吗?

1 个答案:

答案 0 :(得分:1)

当两个对象刚刚第一次触摸时,将首先调用此碰撞代码。此时,为了防止进一步评估,您可以在怪物上设置属性,如isInCollision,并且在true时不检查交叉边界矩形。

如果您希望怪物再次接收子弹,请将isInCollision设为false