我应该如何应对增加的新成就

时间:2019-04-27 03:09:59

标签: google-play-services google-play-games

我现在对Google Play游戏服务的工作原理越来越熟悉。这是一个通用示例,我试图弄清楚如何处理。

我有以下成就: 杀死5个僵尸,杀死15个僵尸,25、50等。

现在,我计划在杀死僵尸时增加每个成就。因此杀死1个僵尸,所有4个成就都会增加1。

我的问题是,当我添加另一个成就(例如杀死100个僵尸)时,其增量计数器将从0开始。假设我杀死了49个僵尸,那么“杀死50个僵尸”的计数器将为49 。如何在保持计数器不变的情况下增加更多成就?

这是否正常是同时增加多个成就?其他游戏会这样做吗?当我添加新成就时,我将如何克服这个问题?我想尽量避免在本地保存,以便对如何充分利用API提出任何建议。

我担心在本地保存的原因之一是,如果这样做,一个人可以登录,获取他们的成就,然后注销,然后另一个人登录并获得相同的成就。

1 个答案:

答案 0 :(得分:0)

好的,这是我的解决方案以及我的工作。据我所知,这是最好的选择,但我可能是错的。

我做了一个“杀死僵尸”事件,并将该事件与其他成就联系在一起。每当触发“杀死僵尸”事件时,都会增加所有“杀死X僵尸”成就。但是,如果我要在开发中添加另一个成就,它将在0处开始其中一个成就。每当用户登录时,我都会调用这两个加载方法,因为这样做实际上没有意义。

我通过首先用AchievementsClient#load加载成就,然后添加了一个成功监听器,然后称为EventsClient#load来解决此问题。如果与杀死僵尸有关的任何成就都低于该事件的计数器,它将增加该事件,以便与事件计数器保持最新。

这是一个不错的选择,因为它可以跨设备使用,并确保每个成就都是最新的。