gpt4 book ai didi

c# - iOS 中的游戏中心 : GKScore vs. GKachievement?

转载 作者:行者123 更新时间:2023-11-29 11:56:00 25 4
gpt4 key购买 nike

我对 iOS 中与“游戏中心”相关的主题有疑问:GKAchievementGKScore

(1) GK成就

我知道在 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();

});
}

最佳答案

我做了一些测试,自己想出了“答案”。

如果我们同时使用GKAchievementGKScore提交成就和分数,那么通过GKScore提交的分数将显示在全局排行榜。当我们通过 GKAchievement

提交成就时,该分数将覆盖应该显示的分数

这是我的 2 个测试用例:

(A) 测试用例 1:

假设我在 Game Center 中定义了一项值(value) 100 分的成就。当用户玩游戏并完成这个成就时,我先提交这个成就,然后提交3456分的分数(通过我的代码进行测试)。

接下来,我打开游戏中心,我可以看到我在排行榜上显示的分数是 3456(而不是 100 分)。

(B) 测试用例 2:

假设我定义了一项值(value)100 分的成就。当用户玩游戏并完成这个成就时,我只提交这个成就,然后手动提交3456分的分数(通过我的代码用于测试目的)。

接下来,我打开游戏中心,我可以看到我在排行榜上显示的分数恰好是 100


注意:仅当开发人员将“分数提交类型”设置为“最佳分数”时,才会发生以下行为。

如果您随后使用 GKScore 提交的分数比 Game Center 排行榜中的现有分数HIGHER,那么这个新的HIGHER 分数将自动发布在排行榜(由 Apple Game Center 提供,我们无需执行任何其他操作)。

现在,如果您随后使用 GKScore 提交的分数比 Game Center 排行榜中的现有分数LOWER,那么这个新的LOWER分数将发布在排行榜上。


(另一方面,如果开发者将“分数提交类型”设置为“最近分数”,则只有“最近分数”和不是最高分数会发布在游戏上中心。)

关于c# - iOS 中的游戏中心 : GKScore vs. GKachievement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39049318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com