让makeObjectsPerformSelector在Objective C中工作

时间:2011-07-02 03:58:59

标签: objective-c xcode ipad cocos2d-iphone

我正在尝试使用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对象并添加它吗?我错误地使用了这个吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

根据您的示例,很难说出您要做的事情。但是,如果你有一个名为NSArray的{​​{1}},并且要对每个名为balls的球执行操作,则可以使用bounce

-makeObjectsPerformSelector:

这有用吗?

答案 1 :(得分:1)

选择器不是对象。它是一个用于在方法表中查找实现的键。您永远不需要覆盖-makeObjectsPerformSelector: