【发布时间】:2018-01-12 21:31:33
【问题描述】:
来自这个帖子:about percentComplete in GKAchievement
到目前为止,我已经设法报告了成就进度,并且当提交的进度不包含十进制值时,我没有任何问题,例如执行 10 次任务以获得此 x 成就。然后每个 reportProgress 将是 10%。
但是,我正在尝试编写一项成就,该成就只能在完成一项任务 1000 次后才能完成。因此,每完成一项任务就有 0.1 个进度。
在检索 percentComplete 时如何获取十进制值是否有修复?我不确定保存的值或返回的值是否转换为 int。
我要做的是从 GameCenter 检索当前的成就进度,并在每次任务完成时将其增加 0.1d。如果我尝试报告 4.1d 的进度,我会在日志中看到:
报告成就 de.company.testapp.achievement1,4.100000
那是系统生成的日志。那么假设 GameCenter 将其保存为带小数的 double 并且仅在您请求 percentComplete 时返回整数是否正确?
当然我可以保留一个本地计数器,但我试图避免在用户切换到另一台设备时或本地经过身份验证的用户在设备内发生更改时出现分数不一致。同步分数或更新我们的服务器以跟踪每个玩家的每一项成就可能有点过分。
有人对我应该如何正确处理跟踪此类成就有任何建议吗?
提前致谢。
PS。我在 Unity 中开发,所以我使用 GameCenterPlatform,但我尝试在 Objective-c 端检索百分比完成,但它也返回百分比完成的整数。
【问题讨论】:
-
这是一个非常烦人的问题,现在面临同样的事情。有什么解决办法吗?或者 Unity 的任何回应是什么导致它以降低的精度返回?
标签: ios unity3d game-center