當我查看GKScore和GKLeaderboard的文檔時,無法將玩家報告的分數重置爲GameCenter中特定的排行榜。我對嗎?以任何方式編程重置排行榜?
這似乎頗不一致,因爲它是可以重置成就:
[GKAchievement resetAchievementsWithCompletionHandler:^(NSError *error) { ... }];
有什麼想法?
當我查看GKScore和GKLeaderboard的文檔時,無法將玩家報告的分數重置爲GameCenter中特定的排行榜。我對嗎?以任何方式編程重置排行榜?
這似乎頗不一致,因爲它是可以重置成就:
[GKAchievement resetAchievementsWithCompletionHandler:^(NSError *error) { ... }];
有什麼想法?
你是對的。無法重置Game Center排行榜類別,或者在實時應用中啓動後刪除類別。
蘋果確實允許重置成就的方法。
我所知道的唯一工作就是讓舊的類別死掉,將它們拖到最下面,將與該類別相關聯的標籤更改爲「高分(已存檔)」,然後創建一個新的一個並將其標記爲「高分」並將其排序到頂部。這會給你一個新的。但是當然,仍然有25個排行榜類別的限制 - 所以在某些時候你會被擊沉,除非你知道如何重用舊的。 (例如,讓你的所有分數x10,讓每個人都快速上升到舊分數以上)
編輯...在最近的版本中,我確實在最近的應用更新中重用了排行榜類別。該類別的最初用途是在低於1000年的相當低的分數。該類別的新用途將從10倍到1000倍之間。所以我知道這個類別的任何舊分數都會在遊戲的第一對情節中被刪除。當然,類別ID不能更改(com.company.app.category),但描述(英文或其他)可以更改。它可能會讓你感到困惑,因爲你在爲完全不同的東西儲存分數時使用了一個具有唯一標識的分類。但是使用#define kBlahBlahBlah to @「com.company.app.blah」,您可以使用任何名稱的代碼來輕鬆地保持直線。希望有所幫助。
感謝您的答案,但即使這種解決方法也不能解決我只想爲單個玩家重設分數的情況(不重置整個排行榜類別本身)。 – manicaesar
技術上我的答案是正確的,但我可以使用複選標記。你問是否有辦法,沒辦法..正確的答案。 – badweasel
我剛剛花了很長時間創建了我自己的基於服務器的高分系統,這樣我就可以用我的排行榜來做我想要的,包括禁止作弊和刪除假分數。我現在可以動態地動態創建它們。我最終可能會將我的系統開放給其他開發人員。 – badweasel
我在找同樣的東西,但迄今爲止沒有。在他們的GameKit編程指南中,它展示瞭如何重置成就,但不是排行榜。所以我想目前這是不可能的... – Structurer