0

对不起,我的英语不好

我在互联网上搜索,我看到了如何但由于某种原因没有添加对象;我想要做的是将我的电源精灵加载到一个图层上并将它们添加到一个数组中,并根据数组我将选择要显示哪些以及何时在不同的图层上显示。

我确信这是一个愚蠢的细节,但我不明白是什么。如果我创建一个本地数组并使用而不是单例正在工作。

我做了一个游戏经理课

//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

我确实导入了标题并在我在init方法上执行的层上

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

我已经创建了batchnode,我从框架中做了framcache,有什么想法吗?

4

1 回答 1

0

尝试...

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

实际上,您正在创建对象,但没有用它们更新静态变量。

于 2012-08-01T01:00:47.150 回答