我对 iOS 中与“游戏中心”相关的主题有疑问: GKAchievement vs. GKScore?
(1) GKA成就
我知道在 iOS Game Center 中,我们可以定义成就和排行榜,并指定,例如,当玩家完成第一个成就时,我们会给玩家 10 分。也就是当用户成功完成成就后,我们使用GKAchievement向游戏中心提交成就。
(2) GKScore
那么,我们什么时候需要使用 GKScore呢?正如我在上一段中提到的,当玩家完成第一个成就时,我们可以给玩家一个特定的分数。那么,如果我们已经使用GKAchievement来为每个新成就的用户提供新分数,我们还需要使用 GKScore吗?GKScore的目的是什么?
或者,当我们使用GKScore时,我们不需要使用GKAchievement?换句话说,我们只需要使用这 2 个类中的 1 个,而不需要两者都使用?
下面是用 C# 提交分数GKScore的典型代码:
public void reportScore(long score, string category, GameCenterController controller, bool show_dialog)
{
GKScore scoreReporter = new GKScore (category);
scoreReporter.Value = score;
scoreReporter.ReportScore ((error) => {
((error) => { // original
if(error == null){
if(show_dialog){
new UIAlertView ("Score Reported to Game Center", "Score Reported Successfully", null, "OK", null).Show ();
}
}
else{
if(show_dialog){
new UIAlertView ("Can't Submit Score to Game Center", "Please make sure that you logon to Game Center", null, "OK", null).Show ();
}
}
//NSThread.SleepFor(1);
controller.updateHighScore();
});
}