Cocos2d iphone Cocos2d:在数组中添加精灵会导致应用程序终止,并出现未捕获异常

Cocos2d iphone Cocos2d:在数组中添加精灵会导致应用程序终止,并出现未捕获异常,cocos2d-iphone,sprite,Cocos2d Iphone,Sprite,当我尝试向数组中添加精灵时,出现了一个未捕获的异常错误,我觉得一切都很好。。我用MonocleStudios Simplegame项目来做这个 monoclestudios.com/static/simplegame.zip 代码应该是相当自解释的: .m文件: @implementation GameScene - (id) init { self = [super init]; if (self != nil) { Sprite * bg = [S

当我尝试向数组中添加精灵时,出现了一个未捕获的异常错误,我觉得一切都很好。。我用MonocleStudios Simplegame项目来做这个 monoclestudios.com/static/simplegame.zip

代码应该是相当自解释的:

.m文件:

@implementation GameScene

- (id) init {
    self = [super init];
        if (self != nil) {

        Sprite * bg = [Sprite spriteWithFile:@"game.png"];
        [bg setPosition:ccp(240, 60)];
        [self addChild:bg z:0];
        [self addChild:[GameLayer node] z:1];
        Sprite * bg1 = [Sprite spriteWithFile:@"game.png"];
        [bg1 setPosition:ccp(211, 260)];
        [self addChild:bg1 z:0];
        //the above works fine!
        Sprite * bgX[50];
        //if comment out the next 3 lines, everything runs but I get an "unused variable" warning
        bgX[0] = [Sprite spriteWithFile:@"mytree.png"];
        [bgX[0] setPosition:ccp(240,150)];
        [self addChild:bgX[0] z:0];  
    }
    return self;
}

@end
以下功能可以正常工作(Cocos2D 0.7.3,如果这与2.1 SDK有关):

Sprite*Sprite[Sprite_COUNT];
对于(int i=0;i
如何在其他功能中使用这些精灵?如果我在声明精灵后放置“[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(MyFunction)userInfo:nil repeats:YES];”,当我尝试使用精灵调用MyFunction中的精灵时[0]setPosition:ccp(100100);我得到一个未定义的错误。在哪里可以定义精灵,以便全局使用?(或至少到实现文件为止)。我试着放雪碧,雪碧[50];头文件中有几个地方,但是我会在实现文件中得到语法错误。要使其公开,请将指针数组放在接口中,而不是放在实现中。
Sprite *sprites[SPRITE_COUNT];
for(int i = 0; i < SPRITE_COUNT; i++) {
    sprites[i] = [Sprite spriteWithFile:@"file.png"];
    [sprites[i] setPosition: ccp(0, 0)];
    [self addChild: sprites[i] z:0];
}