在下面的方法中,我使用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循环中迭代它们。我怎样才能做到这一点?
答案 0 :(得分: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];
}
希望这能回答你的问题。