Unity游戏中成就

本主题介绍如何在Unity游戏中使用Play游戏服务的成就。它假设您已按照入门指南中所述设置了您的项目和Google Play游戏插件。

创建成就

设置项目和插件时,请在Google Play控制台中创建成就,然后使用成就的Android资源更新插件。有关在Play控制台中创建成就的详细信息,请参阅成就指南

显示和解锁成就

要解锁成就,请使用进度值为100.0f的Social.ReportProgress方法。

    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();