【问题标题】:How should I deal with adding new incremental achievements我应该如何处理添加新的增量成就
【发布时间】:2019-04-27 03:09:59
【问题描述】:

我现在对 Google Play 游戏服务中的成就如何运作有了更多了解。这是一个通用示例,我试图弄清楚我将如何处理。

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

现在,我计划在杀死僵尸后增加每个成就。所以杀死 1 个僵尸,所有 4 个成就都加 1。

我的问题是,当我添加另一个成就(例如杀死 100 个僵尸)时,它的增量计数器将从 0 开始。假设我已经杀死了 49 个僵尸,那么“杀死 50 个僵尸”的计数器将是 49 . 我怎样才能在保持计数器的同时添加更多成就?

同时增加多个成就是否正常?其他游戏会这样吗?当我添加新成就时,我将如何克服这个问题?我想尽量避免在本地保存,所以任何关于如何充分利用 API 的建议都将不胜感激。

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

【问题讨论】:

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


    【解决方案1】:

    好的,这是我的解决方案和我所做的。据我所知,这是最好的选择,但我可能是错的。

    我制作了一个“杀死僵尸”事件并将该事件与不同的成就联系起来。每当触发“杀死僵尸”事件时,都会增加所有“杀死X僵尸”的成就。但是,如果我在开发过程中添加另一个成就,它会从 0 开始其中一个成就。每当用户登录时,我都会调用这两个加载方法,因为在游戏中期这样做真的没有意义。

    我通过首先使用AchievementsClient#load 加载成就然后添加一个成功监听器然后调用EventsClient#load 来解决此问题。如果任何与杀死僵尸有关的成就低于所述事件的计数器,它将增加它以与事件计数器保持同步。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 2020-02-29
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-31
      相关资源
      最近更新 更多