Cocos2d在NSMutableArray中访问对象的CGRect属性

时间:2014-01-18 14:07:31

标签: objective-c object properties cocos2d-iphone nsmutablearray

我在他们自己的类中声明了一堆建筑物。我将这些建筑物的实例添加到我的游戏层以及NSMutableArray allBuildings ..所有这些建筑都有一堆CGRect合成并在类文件中声明。 我的问题是如何使用访问allBuildings数组中所有建筑物的CGRects,以便在不访问数组中的每个单独建筑物的情况下进行碰撞。

1 个答案:

答案 0 :(得分:0)

您可以使用集合运算符@unionOfObjects来获取所有rects的数组。它们将存储在NSValue个对象中。例如,我认为您的属性名为rect

NSArray* rects= [allBuildings valueForKeyPath: @"@unionOfObjects.rect"];

然后以这种方式遍历数组:

for(NSValue* value in rects) {
    CGRect rect= value.CGRectValue;
    <...>
}