Skip to content

Achievements(CN)

Franklin Chen edited this page Jan 4, 2018 · 1 revision

成就(Achievement)是一个系统级的机制,用于在所有的游戏中以一致的方式来引导和奖励用户的游戏内行为。如果您对成就系统不太熟悉,请参阅:Achievements documents

从现在开始,所有创建在 Windwos Dev Center 的新游戏都会使用 Data Platform 2017。对成就系统而言, 就是 Achievements 2017。其允许开发者用直接调用的模式去解锁运行在Xbox One、Windows 10、Windows 10 Phone、 Android和iOS上的新 Xbox Live 游戏的成就。

关于如何在Dev Center上配置成就,请参考 Configure Achievements 2017 on Dev Center

使用脚本

借助 Achievements 2017,解锁成就或更新成就进度变得非常简单。这里的关键API是 UpdateAchievementAsync 方法。更多信息,请参阅 Update_Achievement API

在 Unity 中,您可以利用 AchievementBase 类。您可以派生这个类,并重载 CalculateProgress 方法来实现您的成就的解锁逻辑。

在派生类中,您可能还需要做些努力去跟踪解锁成就所需的参数。使用 Stats 是一个不错的选择。您可以将这些参数存储为统计数据,并在玩家启动您的游戏或新会话时,通过从Xbox Live中检索最新的统计数据来保持其同步。然后当任何统计数据的值改变时,可以执行 UnlockAchievement 方法更新或解锁相应的成就。

但是,请注意,成就并不是由统计信息支持,您的游戏才决定何时解锁成就。 Stats 只是一个其中一个选择,还有一些的其他方法来跟踪这些参数,例如 Connected Storage 或 使用您自己的Web服务。

参见