本主题介绍如何在 Unity 游戏中使用 Play 游戏服务成就。假定您已按照入门指南中的说明设置了项目和适用于 Unity 的 Google Play 游戏插件。
创建成就
设置项目和插件后,在 Google Play 管理中心创建成就,然后使用成就的 Android 资源更新插件。有关在 Play 管理中心创建成就的详细信息,请参阅成就指南。
显示并解锁成就
要解锁成就,请使用 **Social.ReportProgress** 方法,其进度值为 100.0f
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// unlock achievement (achievement ID "Cfjewijawiu_QA")
Social.ReportProgress("Cfjewijawiu_QA", 100.0f, (bool success) => {
// handle success or failure
});
根据Social.ReportProgress的预期行为,值为 0.0f 表示成就已显示,进度为 100.0f 表示成就已解锁。
要显示以前隐藏的成就而不解锁它,请使用值为 0.0f 的 **Social.ReportProgress** 调用。
递增成就
如果成就可递增,则 **Social.ReportProgress** 的 Play 游戏实现将尝试遵守 Unity 社交 API 的预期行为。不过,行为可能并不完全相同,因此我们建议您不要将 **Social.ReportProgress** 用于递增成就。相反,请使用 **PlayGamesPlatform.IncrementAchievement** 方法,它是 Play 游戏扩展。
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// increment achievement (achievement ID "Cfjewijawiu_QA") by 5 steps
PlayGamesPlatform.Instance.IncrementAchievement(
"Cfjewijawiu_QA", 5, (bool success) => {
// handle success or failure
});
显示成就 UI
要显示所有成就的内置 UI,请调用 **Social.ShowAchievementsUI**。
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// show achievements UI
Social.ShowAchievementsUI();