来自这个线程:关于 GKAchievement 中的百分比完成
到目前为止,我已经设法报告了成就进度,并且当提交的进度不包含十进制值(例如执行 10 次任务以获得此 x 成就)时,我没有任何问题。然后,每个 reportProgress 将是 10%。
但是,我正在尝试编写一项成就,该成就只能在完成一项任务 1000 次后才能完成。因此,完成的每项任务都有 0.1 个进度。
检索percentComplete时如何获取十进制值是否有修复?我不确定保存的值或返回的值是否转换为 int。
我要做的是从 GameCenter 检索当前的成就进度,并在每次任务完成时将其增加 0.1d。如果我尝试报告 4.1d 的进度,我会在日志中看到:
上报成绩 de.company.testapp.achievement1, 4.100000
那是系统生成的日志。那么假设GameCenter将其保存为带小数的双精度并且仅在您请求percentComplete时返回整数是否正确?
当然,我可以保留一个本地计数器,但我试图避免在用户切换到另一台设备时或本地经过身份验证的用户在设备内发生更改时出现分数不一致。同步分数或更新我们的服务器以跟踪每个玩家的每一项成就可能有点过分。
有人对我应该如何正确处理跟踪这种成就有任何建议吗?
提前致谢。
PS。我在 Unity 中开发,所以我使用 GameCenterPlatform,但我尝试在 Objective-c 端检索百分比完成,但它也返回百分比完成的整数。