首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不带十进制值返回的成就的percentComplete

不带十进制值返回的成就的percentComplete
EN

Stack Overflow用户
提问于 2013-03-28 14:55:29
回答 2查看 997关注 0票数 2

来自这个线程: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将其保存为带有小数的双倍,并且只在请求percentComplete时返回整数,是否正确?

当然,我可以保留一个本地计数器,但当用户切换到另一个设备时,或者当本地身份验证的用户在设备内发生更改时,我试图避免得分不一致。这可能有点太过同步或更新我们的服务器,以跟踪每一个球员的每一个成就。

有人建议我应该如何正确处理跟踪这种成就吗?

提前谢谢。

PS。我正在使用GameCenterPlatform进行开发,但是我尝试在objective端检索percentComplete,但它也返回percentCompleted的整数。

EN

回答 2

Stack Overflow用户

发布于 2013-03-28 15:09:29

我认为本地存储是你唯一的选择。如果您担心跨设备跟踪,您可以尝试使用云存储的特定信息。我认为这是您唯一真正的选择,以更高的精度跟踪信息,超过GameCenter将允许,除非您还想跟踪您自己的服务器上的信息,仅次于GameCenter。

票数 0
EN

Stack Overflow用户

发布于 2018-01-12 13:31:33

我也很期待苹果能解决这个问题,但是我发现.

苹果的回答是:“百分比是用双倍报告的,但存储为整数百分比,例如1%、2%、3%、.、100%。您可能应该在本地存储进度,因为它们可能是无法连接到游戏中心的地方。” 对于那些能够访问Apple论坛的人:https://devforums.apple.com/message/522769

建议:-我们可以使用云用户默认的首选项来存储我们的得分值。下面是一个用于云首选项https://github.com/ArtSabintsev/Zephyr的有用库

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15685070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档