- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 iOS 中与“游戏中心”相关的主题有疑问:GKAchievement 与 GKScore?
(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();
});
}
最佳答案
我做了一些测试,自己想出了“答案”。
如果我们同时使用GKAchievement和GKScore提交成就和分数,那么通过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/
我有时遇到 SIGABRT 崩溃,崩溃提示:GKScore 必须包含初始化值。 所以它追踪到这一行: [localScore reportScoreWithCompletionHandler:^(NS
在苹果的 GKLeaderboards示例代码,它们展示了如何存储 GKScore 对象,以便在发送失败时稍后提交。但是,Reporting Scores To Game Center 的文档说“如果
当我尝试存储小于当前值的分数值时,它不会被存储。有什么帮助吗? GKScore *scoreReporter = [[GKScore alloc] initWithCategory:@"top_mat
有人在尝试将 Game Center 集成到 iOS 7 应用程序时遇到过这个错误吗? A GKScore must specify a leaderboard. 这是失败的代码: if(points
我对 iOS 中与“游戏中心”相关的主题有疑问:GKAchievement 与 GKScore? (1) GK成就 我知道在 iOS Game Center 中,我们可以定义成就和排行榜并指定,例如,
谁能告诉我如何使用 C# 编写 ReportScores 示例?我发现了很多关于它是如何用 objective-C 而不是 C# 编写的例子,而且转换器很贵。我一直在使用旧的、现在已弃用的 GKSco
让 highscore = leaderboardRequest.scores[0] 为! GKScore 结果为 无法下标“[GKScore]”类型的值? Swift2 中正确的语法是什么 最佳答案
我是一名优秀的程序员,十分优秀!