以下のメソッドでは、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 (各 ballArray 要素がそれぞれの CCPhysicsSprite になる) のそれぞれの CCPhysicsSprite 戻り値にアクセスし、同様にそれらの b2Body プロパティにアクセスして、for ループでそれらを反復処理できるようにします。どうすればこれを達成できますか?