2012-07-31 22 views
0

對不起我的英文不好的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 

,我做進口頭以及該圖層上我做的init方法

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

我創建batchnode和我從框架做了framcache,有什麼想法爲什麼?

回答

0

的Try ...

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

正因爲如此,你正在創建對象,但不與他們更新您的靜態變量。

+0

謝謝,我知道是愚蠢的東西 – Haris 2012-08-01 01:22:15