Массив cocos2d sigleton не добавляет объекты

Извините за мой плохой английский

я ищу в Интернете, и я видел, как это сделать, но по какой-то причине не добавляет объекты; то, что я хочу сделать, это загрузить на слой мои спрайты включения и добавить их в массив, и на основе массива я выберу, какие из них показывать и когда на другом слое.

Я уверен, что это глупая деталь, но я не могу понять, что. если я создаю локальный массив и использую его вместо синглтона, он работает.

я сделал класс менеджера игры

//header

@interface GameManager : NSObject {
}

@property (nonatomic,retain) NSMutableArray *powerUpsArray;

+(GameManager*)sharedGameManager;
@end

реализация

@implementation GameManager

static GameManager* _sharedGameManager = nil;

@synthesize powerUpsArray=_powerUpsArray;

+(GameManager*)sharedGameManager {
@synchronized([GameManager class]) 
{
    if(!_sharedGameManager) 
        [[self alloc] init];
    return _sharedGameManager;
}
return nil;
}


-(id)init {
self = [super init];
if (self != nil) {
    self.powerUpsArray=[[NSMutableArray alloc]init];
}
return self;
}
@end

и я импортирую заголовок и на слое, который я делаю в методе инициализации

[[GameManager sharedGameManager].powerUpsArray addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"bomb.png"]]];

я создал пакетный узел, и я сделал framcache из фрейма, есть идеи, почему?


person Haris    schedule 31.07.2012    source источник


Ответы (1)


Пытаться...

if(!_sharedGameManager) 
    _sharedGameManager = [[self alloc] init];

Как бы то ни было, вы создаете объекты, но не обновляете ими свою статическую переменную.

person Phillip Mills    schedule 01.08.2012