2012-07-23 65 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