2012-07-23 42 views
0

我有一个对象ID“分数”,我需要保存到我的排行榜。Cocos2d,需要将nsuserdefault对象ID保存到游戏中心

我的榜样,得到了这部分

-(void) onPlayerInfoReceived:(NSArray*)players 
{ 
    CCLOG(@"onPlayerInfoReceived: %@", [players description]); 
    GameKitHelper* gkHelper = [GameKitHelper sharedGameKitHelper]; 
    [gkHelper submitScore:1234 category:@"scoreboard"]; 

    [gkHelper showLeaderboard]; 
} 

除了我需要保存这个代替。

_score = [[NSUserDefaults standardUserDefaults] integerForKey:@"score"];  

而且有必要的,因为它是在同一个文件中没有玩家套件辅助基准。

+0

我认为在开始尝试编写游戏之前,您需要花点时间来学习Objective-C和一般编程的基础知识。 – 2012-07-23 08:24:24

回答

0

我不是很了解这个问题,但我会给它一个镜头。在我做之前,你一定要做@Nick Bull说的,学习编程和Objective-C的基础知识。

现在,我想你想要的是将NSUserDefaults中保存的分数报告给GameCenter而不是“1234”。

替换此行:

[gkHelper submitScore:1234 category:@"scoreboard"]; 

有了这个:

[gkHelper submitScore:[[NSUserDefaults standardUserDefaults] integerForKey:@"score"] category:@"scoreboard"]; 

[[NSUserDefaults standardUserDefaults] integerForKey:@"score"]返回一个int吧?因此,您应该能够将其作为参数传递给您的提交分数方法。

+0

你看我起初是这么做的,并且认为这是错误的,因为游戏中心没有更新,但我现在知道它需要游戏中心永远更新,这很烦人。另外,在做这件事之前,你必须至少有2个帐号。这种烦人的,但无论如何感谢这里是你的复选标记。 – user1543821 2012-07-24 03:59:20

+0

谢谢,很高兴我能帮上忙。是的,它非常讨厌Game Center的速度有多慢,有时测试有多不方便。 – tallen11 2012-07-24 22:18:48