CGRectIntersection需要标量类型?

时间:2012-08-14 20:57:59

标签: objective-c compiler-errors

我正在尝试检查来自NSMutableArray的对象与另一个对象的碰撞(使用CGRect),但它一直说该方法需要标量类型?!

以下是抛出错误的方法:

-(void) checkSquareToCircleCollisions{
    NSMutableArray *array = [squares getSquares];

    for(int i = 0; i < [squares getCount]; i++){
        Square *s = [array objectAtIndex: i];
        CGRect rect1 = [player getRect];
        CGRect rect2 = [s getRect];

        //if(CGRectIntersection(rect1, rect2)){
            //[player setAlive: NO];
       // }

    } 
}

1 个答案:

答案 0 :(得分:5)

使用CGRectIntersectsRect,而不是CGRectIntersection

CGRectIntersectsRect返回一个布尔值:如果矩形相交,则返回YES。 CGRectIntersection返回两个矩形之间重叠(如果有)的CGRect

if (CGRectIntersectsRect(playerRect, squareRect)) {
    player.alive = NO;
}