我正在尝试使用makeObjectsPerformSelector而不是使用循环,我无法让它工作。我有20个球,我正试图在“init”中添加到屏幕。
我可以通过制作这样的精灵来添加一个:
CCSprite *ball = [CCSprite spriteWithFile:@"ball.png" rect:CGRectMake(0, 0, 20, 20)];
// set the position of the ball providing the coordinates
ball.position = ccp((player.contentSize.width/2 + 400)+ball.contentSize.width/2, winSize.height/2 - ball.contentSize.height/2);
// add the ball to the playing area
[self addChild:ball];
这似乎工作得很好,但现在我需要添加20个。所以我决定使用一个名为“balls”的数组,我已经读过我可以使用makeObjectsPerformSelector对数组中的每个对象执行一个动作,但我无法弄清楚如何添加每个球,到目前为止我有这个:
- (void) makeObjectsPerformSelector:(SEL)aSelector
{
// add the ball to the screen
[self addChild:aSelector];
}
我认为我需要在球阵列上使用aSelector对象并添加它吗?我错误地使用了这个吗?
谢谢!
答案 0 :(得分:2)
根据您的示例,很难说出您要做的事情。但是,如果你有一个名为NSArray
的{{1}},并且要对每个名为balls
的球执行操作,则可以使用bounce
:
-makeObjectsPerformSelector:
这有用吗?
答案 1 :(得分:1)
选择器不是对象。它是一个用于在方法表中查找实现的键。您永远不需要覆盖-makeObjectsPerformSelector: