1

在下面的方法中,我使用 switch-case 将对象添加到数组中。

-(void)addBall   {
    switch (ballKind)    {
        case greenBall:
        [ballArray addObject:[self createBallObject:CGPointMake(xPos*(s.width/480.0), yPos*(s.height/320.0)) ballStringName:@"greenBall.png"]];
        break;

    case redBall:
        [ballArray addObject:[self createBallObject:CGPointMake(xPos*(s.width/480.0), yPos*(s.height/320.0)) ballStringName:@"redBall.png"]];
        break;

    case blueBall:
        [ballArray addObject:[self createBallObject:CGPointMake(xPos*(s.width/480.0), yPos*(s.height/320.0)) ballStringName:@"blueBall.png"]];
        break;

    default:
        break;
    }
}

createBallObject 返回一个 CCPhysicsSprite。我还有一个返回ballArray的方法:

-(NSMutableArray*)getBallArray    {

  return ballArray;
}

我想访问 ballArray 中每个 createBallObjects 的 CCPhysicsSprite 返回值(每个 ballArray 元素都是各自的 CCPhysicsSprite)以及它们的 b2Body 属性,因此我可以在 for 循环中遍历它们。我怎样才能做到这一点?

4

1 回答 1

1

要访问 ballArray 的特定索引处的 CCPhysicsSprite 对象之一,请执行以下操作:

int index; // Set this to which index of the array you wish to view.
CCPhysicsSprite *sprite = [ballArray objectAtIndex: index]);

如果要访问 ballArray 的所有 CCPhysicsSprite 对象,请执行以下操作:

int count = [myColors count];

for (i = 0; i < count; i++)
{
    CCPhysicsSprite *sprite = [myColors objectAtIndex: count];
}

希望这能回答你的问题。

于 2013-06-06T04:01:15.533 回答